diff --git a/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures_cypress.h b/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures_cypress.h index 18c9bc601a..5396910467 100644 --- a/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures_cypress.h +++ b/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures_cypress.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:44 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:05 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:44 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:05 UTC 2024 diff --git a/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated_cypress.h b/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated_cypress.h index 142c64efa6..69cf6f597e 100644 --- a/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated_cypress.h +++ b/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated_cypress.h @@ -272,7 +272,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -405,7 +405,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -751,7 +751,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -831,7 +831,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -881,7 +881,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1149,7 +1149,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.cypress.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.cypress.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures_kin.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures_kin.h index fb58bab9c0..946d5cc034 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures_kin.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures_kin.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:43 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:04 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15292 + * offset 15360 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15324 + * offset 15392 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15340 + * offset 15408 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15400 + * offset 15468 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 15656 + * offset 15724 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15688 + * offset 15756 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 15704 + * offset 15772 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 15768 + * offset 15836 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 15784 + * offset 15852 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 15800 + * offset 15868 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 15864 + * offset 15932 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 15880 + * offset 15948 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 15896 + * offset 15964 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16024 + * offset 16092 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16040 + * offset 16108 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 16056 + * offset 16124 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 16312 + * offset 16380 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16344 + * offset 16412 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 16360 + * offset 16428 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 16488 + * offset 16556 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16520 + * offset 16588 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16536 + * offset 16604 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 16792 + * offset 16860 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 16824 + * offset 16892 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 16856 + * offset 16924 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 17112 + * offset 17180 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 17128 + * offset 17196 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 17144 + * offset 17212 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 17208 + * offset 17276 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 17224 + * offset 17292 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 17240 + * offset 17308 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 17304 + * offset 17372 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 17320 + * offset 17388 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 17336 + * offset 17404 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 17416 + * offset 17484 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 17432 + * offset 17500 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 17452 + * offset 17520 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 17460 + * offset 17528 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 17468 + * offset 17536 */ cyl_trim_s ignTrims[12]; /** - * offset 17660 + * offset 17728 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 17668 + * offset 17736 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 17676 + * offset 17744 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 17868 + * offset 17936 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 17884 + * offset 17952 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 17892 + * offset 17960 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 17900 + * offset 17968 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 17908 + * offset 17976 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 17916 + * offset 17984 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 17924 + * offset 17992 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 17932 + * offset 18000 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 17940 + * offset 18008 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 17948 + * offset 18016 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 17956 + * offset 18024 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 17964 + * offset 18032 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 17972 + * offset 18040 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 17980 + * offset 18048 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 17988 + * offset 18056 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 17996 + * offset 18064 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 18004 + * offset 18072 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 18012 + * offset 18080 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 18020 + * offset 18088 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 18028 + * offset 18096 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 18064 + * offset 18132 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 18070 + * offset 18138 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 18076 + * offset 18144 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 18112 + * offset 18180 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 18118 + * offset 18186 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 18124 + * offset 18192 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 18156 + * offset 18224 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 18164 + * offset 18232 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 18172 + * offset 18240 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 18204 + * offset 18272 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 18212 + * offset 18280 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 18220 + * offset 18288 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 18252 + * offset 18320 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 18260 + * offset 18328 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 18268 + * offset 18336 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 19020 + * offset 19088 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 19772 + * offset 19840 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 19796 + * offset 19864 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 19820 + * offset 19888 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 20196 + * offset 20264 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 20572 + * offset 20640 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 20578 + * offset 20646 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 20584 + * offset 20652 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 20590 + * offset 20658 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 20596 + * offset 20664 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 20602 + * offset 20670 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 20608 + * offset 20676 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 20614 + * offset 20682 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 20620 + * offset 20688 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 20626 + * offset 20694 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 20632 + * offset 20700 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 20638 + * offset 20706 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 20654 + * offset 20722 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 20662 + * offset 20730 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 20670 + * offset 20738 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 20706 + * offset 20774 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 20718 + * offset 20786 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 20730 + * offset 20798 */ - uint8_t alignmentFill_at_20730[2]; + uint8_t alignmentFill_at_20798[2]; }; -static_assert(sizeof(persistent_config_s) == 20732); +static_assert(sizeof(persistent_config_s) == 20800); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:43 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:04 UTC 2024 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated_kin.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated_kin.h index 5943f742fa..bcbe0d8486 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated_kin.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated_kin.h @@ -272,7 +272,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -405,7 +405,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -751,7 +751,7 @@ #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 20732 +#define persistent_config_s_size 20800 #define pid_s_size 20 #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" @@ -831,7 +831,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 4260323321 +#define SIGNATURE_HASH 1816320674 #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" @@ -881,7 +881,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 20732 +#define TOTAL_CONFIG_SIZE 20800 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1149,7 +1149,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.kin.4260323321" +#define TS_SIGNATURE "rusEFI master.2024.01.17.kin.1816320674" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures_subaru_eg33_f7.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures_subaru_eg33_f7.h index befdefc5f3..1040f27808 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures_subaru_eg33_f7.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures_subaru_eg33_f7.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:45 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:06 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:45 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:06 UTC 2024 diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated_subaru_eg33_f7.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated_subaru_eg33_f7.h index 8f3d2f812b..497e512093 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated_subaru_eg33_f7.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated_subaru_eg33_f7.h @@ -300,7 +300,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -433,7 +433,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -988,7 +988,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1068,7 +1068,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 215518911 +#define SIGNATURE_HASH 2641693668 #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" @@ -1118,7 +1118,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1386,7 +1386,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.subaru_eg33_f7.215518911" +#define TS_SIGNATURE "rusEFI master.2024.01.17.subaru_eg33_f7.2641693668" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h index ec035a651d..cb9630dd05 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:48 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:08 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:48 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:08 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h index 7fb662f7af..7c72031bf1 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:51 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:11 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:51 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:11 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h index dcf47d4c01..f7a0d2ee9a 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:54 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:14 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:54 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:14 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h index e54a371149..493a3661a5 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:02 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:22 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:02 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:22 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h index 853911faa0..ea3bfda928 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:56 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:17 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1264 + * offset 1332 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1328 + * offset 1396 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1330 + * offset 1398 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1332 bit 0 */ + offset 1400 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1332 bit 1 */ + offset 1400 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1332 bit 2 */ + offset 1400 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1332 bit 3 */ + offset 1400 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1332 bit 4 */ + offset 1400 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1332 bit 5 */ + offset 1400 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1332 bit 6 */ + offset 1400 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1332 bit 7 */ + offset 1400 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1332 bit 8 */ + offset 1400 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1332 bit 9 */ + offset 1400 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1332 bit 10 */ + offset 1400 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1332 bit 11 */ + offset 1400 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1332 bit 12 */ + offset 1400 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1332 bit 13 */ + offset 1400 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1332 bit 14 */ + offset 1400 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1332 bit 15 */ + offset 1400 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1332 bit 16 */ + offset 1400 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1332 bit 17 */ + offset 1400 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1332 bit 18 */ + offset 1400 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1332 bit 19 */ + offset 1400 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1332 bit 20 */ + offset 1400 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1332 bit 21 */ + offset 1400 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1332 bit 22 */ + offset 1400 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1332 bit 23 */ + offset 1400 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1332 bit 24 */ + offset 1400 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1332 bit 25 */ + offset 1400 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1332 bit 26 */ + offset 1400 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1332 bit 27 */ + offset 1400 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1332 bit 28 */ + offset 1400 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1332 bit 29 */ + offset 1400 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1332 bit 30 */ + offset 1400 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1332 bit 31 */ + offset 1400 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1336 + * offset 1404 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1337 + * offset 1405 */ - uint8_t alignmentFill_at_1337[1]; + uint8_t alignmentFill_at_1405[1]; /** * A/C button input - * offset 1338 + * offset 1406 */ switch_input_pin_e acSwitch; /** - * offset 1340 + * offset 1408 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1341 + * offset 1409 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1342 + * offset 1410 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1343 + * offset 1411 */ - uint8_t alignmentFill_at_1343[1]; + uint8_t alignmentFill_at_1411[1]; /** - offset 1344 bit 0 */ + offset 1412 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1344 bit 1 */ + offset 1412 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1344 bit 2 */ + offset 1412 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1344 bit 3 */ + offset 1412 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1344 bit 4 */ + offset 1412 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1344 bit 5 */ + offset 1412 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1344 bit 6 */ + offset 1412 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1344 bit 7 */ + offset 1412 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1344 bit 8 */ + offset 1412 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1344 bit 9 */ + offset 1412 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1344 bit 10 */ + offset 1412 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1344 bit 11 */ + offset 1412 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1344 bit 12 */ + offset 1412 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1344 bit 13 */ + offset 1412 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1344 bit 14 */ + offset 1412 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1344 bit 15 */ + offset 1412 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1344 bit 16 */ + offset 1412 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1344 bit 17 */ + offset 1412 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1344 bit 18 */ + offset 1412 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1344 bit 19 */ + offset 1412 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1344 bit 20 */ + offset 1412 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1344 bit 21 */ + offset 1412 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1344 bit 22 */ + offset 1412 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1344 bit 23 */ + offset 1412 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1344 bit 24 */ + offset 1412 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1344 bit 25 */ + offset 1412 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1344 bit 26 */ + offset 1412 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1344 bit 27 */ + offset 1412 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1344 bit 28 */ + offset 1412 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1344 bit 29 */ + offset 1412 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1344 bit 30 */ + offset 1412 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1344 bit 31 */ + offset 1412 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1348 + * offset 1416 */ uint32_t engineChartSize; /** * units: mult - * offset 1352 + * offset 1420 */ float turboSpeedSensorMultiplier; /** - * offset 1356 + * offset 1424 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1364 + * offset 1432 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1366 + * offset 1434 */ int16_t warningPeriod; /** * units: angle - * offset 1368 + * offset 1436 */ float knockDetectionWindowStart; /** * units: angle - * offset 1372 + * offset 1440 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1376 + * offset 1444 */ float idleStepperReactionTime; /** * units: count - * offset 1380 + * offset 1448 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1384 + * offset 1452 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1388 + * offset 1456 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1392 + * offset 1460 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1396 + * offset 1464 */ float wwaeTau; /** - * offset 1400 + * offset 1468 */ pid_s alternatorControl; /** - * offset 1420 + * offset 1488 */ pid_s etb; /** - * offset 1440 + * offset 1508 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1444 + * offset 1512 */ int16_t airTaperRpmRange; /** - * offset 1446 + * offset 1514 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1448 + * offset 1516 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1450 + * offset 1518 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1452 + * offset 1520 */ output_pin_e starterControlPin; /** - * offset 1454 + * offset 1522 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1455 + * offset 1523 */ - uint8_t alignmentFill_at_1455[1]; + uint8_t alignmentFill_at_1523[1]; /** - * offset 1456 + * offset 1524 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1458 + * offset 1526 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1459 + * offset 1527 */ - uint8_t alignmentFill_at_1459[1]; + uint8_t alignmentFill_at_1527[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1460 + * offset 1528 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1464 + * offset 1532 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1468 + * offset 1536 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1470 + * offset 1538 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1472 + * offset 1540 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1492 + * offset 1560 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1496 + * offset 1564 */ Gpio binarySerialTxPin; /** - * offset 1498 + * offset 1566 */ Gpio binarySerialRxPin; /** - * offset 1500 + * offset 1568 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1504 + * offset 1572 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1506 + * offset 1574 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1508 + * offset 1576 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1512 + * offset 1580 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1516 + * offset 1584 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1518 + * offset 1586 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1520 + * offset 1588 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1524 bit 0 */ + offset 1592 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1524 bit 1 */ + offset 1592 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1524 bit 2 */ + offset 1592 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1524 bit 3 */ + offset 1592 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1524 bit 4 */ + offset 1592 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1524 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1592 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1524 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1592 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1524 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1592 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1524 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1592 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1524 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1592 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1524 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1592 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1524 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1592 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1524 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1592 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1524 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1592 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1524 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1592 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1524 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1592 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1524 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1592 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1524 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1592 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1524 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1592 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1524 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1592 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1524 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1592 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1524 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1592 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1524 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1592 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1524 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1592 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1524 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1592 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1524 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1592 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1524 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1592 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1524 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1592 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1524 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1592 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1524 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1592 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1524 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1592 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1524 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1592 bit 31 */ + bool unusedBit_495_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 - * offset 1528 + * offset 1596 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1530 + * offset 1598 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1532 + * offset 1600 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1534 + * offset 1602 */ Gpio auxSerialRxPin; /** - * offset 1536 + * offset 1604 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1538 + * offset 1606 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1539 + * offset 1607 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1540 + * offset 1608 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1541 + * offset 1609 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1542 + * offset 1610 */ - uint8_t alignmentFill_at_1542[2]; + uint8_t alignmentFill_at_1610[2]; /** * 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. * units: roc - * offset 1544 + * offset 1612 */ float tpsAccelEnrichmentThreshold; /** - * offset 1548 + * offset 1616 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1552 + * offset 1620 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1553 + * offset 1621 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1554 + * offset 1622 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1555 + * offset 1623 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1556 + * offset 1624 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1560 + * offset 1628 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1564 + * offset 1632 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1568 + * offset 1636 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1572 + * offset 1640 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1576 + * offset 1644 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1580 + * offset 1648 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1581 + * offset 1649 */ ve_override_e veOverrideMode; /** - * offset 1582 + * offset 1650 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1583 + * offset 1651 */ load_override_e afrOverrideMode; /** * units: A - * offset 1584 + * offset 1652 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1585 + * offset 1653 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1586 + * offset 1654 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1587 + * offset 1655 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1588 bit 0 */ + offset 1656 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1588 bit 1 */ + offset 1656 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1588 bit 2 */ + offset 1656 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1588 bit 3 */ + offset 1656 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1588 bit 4 */ + offset 1656 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1588 bit 5 */ + offset 1656 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1588 bit 6 */ + offset 1656 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1588 bit 7 */ + offset 1656 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1588 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1656 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1588 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1656 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1588 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1656 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1588 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1656 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1588 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1656 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1588 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1656 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1588 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1656 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1588 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1656 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1588 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1656 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1588 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1656 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1588 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1656 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1588 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1656 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1588 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1656 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1588 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1656 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1588 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1656 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1588 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1656 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1588 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1656 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1588 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1656 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1588 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1656 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1588 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1656 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1588 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1656 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1588 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1656 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1588 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1656 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1588 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1656 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1592 + * offset 1660 */ uint8_t camDecoder2jzPosition; /** - * offset 1593 + * offset 1661 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1594 + * offset 1662 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1596 + * offset 1664 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1597 + * offset 1665 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1598 + * offset 1666 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1599 + * offset 1667 */ - uint8_t alignmentFill_at_1599[1]; + uint8_t alignmentFill_at_1667[1]; /** * set_can2_tx_pin X - * offset 1600 + * offset 1668 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1602 + * offset 1670 */ Gpio can2RxPin; /** - * offset 1604 + * offset 1672 */ pin_output_mode_e starterControlPinMode; /** - * offset 1605 + * offset 1673 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1606 + * offset 1674 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1607 + * offset 1675 */ injector_pressure_type_e injectorPressureType; /** - * offset 1608 + * offset 1676 */ output_pin_e hpfpValvePin; /** - * offset 1610 + * offset 1678 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1611 + * offset 1679 */ - uint8_t alignmentFill_at_1611[1]; + uint8_t alignmentFill_at_1679[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1612 + * offset 1680 */ float boostCutPressure; /** * units: kg/h - * offset 1616 + * offset 1684 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1632 + * offset 1700 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1648 + * offset 1716 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1652 + * offset 1720 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1656 + * offset 1724 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1660 + * offset 1728 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1664 + * offset 1732 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1672 + * offset 1740 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1673 + * offset 1741 */ - uint8_t alignmentFill_at_1673[3]; + uint8_t alignmentFill_at_1741[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1676 + * offset 1744 */ int crankingIACposition; /** - * offset 1680 + * offset 1748 */ float tChargeMinRpmMinTps; /** - * offset 1684 + * offset 1752 */ float tChargeMinRpmMaxTps; /** - * offset 1688 + * offset 1756 */ float tChargeMaxRpmMinTps; /** - * offset 1692 + * offset 1760 */ float tChargeMaxRpmMaxTps; /** - * offset 1696 + * offset 1764 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1698 + * offset 1766 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1699 + * offset 1767 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1700 + * offset 1768 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1704 + * offset 1772 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1706 + * offset 1774 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1707 + * offset 1775 */ scaled_channel primingDelay; /** - * offset 1708 + * offset 1776 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1716 + * offset 1784 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1740 + * offset 1808 */ tle8888_mode_e tle8888mode; /** - * offset 1741 + * offset 1809 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1742 + * offset 1810 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1743 + * offset 1811 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1744 + * offset 1812 */ float fuelReferencePressure; /** * units: mult - * offset 1748 + * offset 1816 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1892 + * offset 1960 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1916 + * offset 1984 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1940 + * offset 2008 */ ThermistorConf auxTempSensor1; /** - * offset 1972 + * offset 2040 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 2004 + * offset 2072 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 2006 + * offset 2074 */ int16_t etbFreq; /** - * offset 2008 + * offset 2076 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2028 + * offset 2096 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2029 + * offset 2097 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2030 + * offset 2098 */ uint8_t stepperMaxDutyCycle; /** - * offset 2031 + * offset 2099 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2032 + * offset 2100 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2080 + * offset 2148 */ float idlePidActivationTime; /** - * offset 2084 + * offset 2152 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2085 + * offset 2153 */ pin_mode_e spi1MosiMode; /** - * offset 2086 + * offset 2154 */ pin_mode_e spi1MisoMode; /** - * offset 2087 + * offset 2155 */ pin_mode_e spi2SckMode; /** - * offset 2088 + * offset 2156 */ pin_mode_e spi2MosiMode; /** - * offset 2089 + * offset 2157 */ pin_mode_e spi2MisoMode; /** - * offset 2090 + * offset 2158 */ pin_mode_e spi3SckMode; /** - * offset 2091 + * offset 2159 */ pin_mode_e spi3MosiMode; /** - * offset 2092 + * offset 2160 */ pin_mode_e spi3MisoMode; /** - * offset 2093 + * offset 2161 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2094 + * offset 2162 */ Gpio mc33816_rstb; /** - * offset 2096 + * offset 2164 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2098 + * offset 2166 */ switch_input_pin_e brakePedalPin; /** - * offset 2100 + * offset 2168 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2101 + * offset 2169 */ - uint8_t alignmentFill_at_2101[3]; + uint8_t alignmentFill_at_2169[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2104 + * offset 2172 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2144 + * offset 2212 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2176 + * offset 2244 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2184 + * offset 2252 */ linear_sensor_s oilPressure; /** - * offset 2204 + * offset 2272 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2205 + * offset 2273 */ - uint8_t alignmentFill_at_2205[1]; + uint8_t alignmentFill_at_2273[1]; /** - * offset 2206 + * offset 2274 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2208 + * offset 2276 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2209 + * offset 2277 */ uint8_t fan2OffTemperature; /** - * offset 2210 + * offset 2278 */ Gpio stepperEnablePin; /** - * offset 2212 + * offset 2280 */ Gpio tle8888_cs; /** - * offset 2214 + * offset 2282 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2215 + * offset 2283 */ - uint8_t alignmentFill_at_2215[1]; + uint8_t alignmentFill_at_2283[1]; /** - * offset 2216 + * offset 2284 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2218 + * offset 2286 */ - uint8_t alignmentFill_at_2218[2]; + uint8_t alignmentFill_at_2286[2]; /** * units: hz - * offset 2220 + * offset 2288 */ float auxFrequencyFilter; /** * units: RPM - * offset 2224 + * offset 2292 */ int16_t vvtControlMinRpm; /** - * offset 2226 + * offset 2294 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2228 + * offset 2296 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2229 + * offset 2297 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2230 + * offset 2298 */ uint16_t etbExpAverageLength; /** - * offset 2232 + * offset 2300 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2236 + * offset 2304 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2238 + * offset 2306 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2240 + * offset 2308 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2242 + * offset 2310 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2658 + * offset 2726 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2660 + * offset 2728 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2664 + * offset 2732 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2676 + * offset 2744 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2684 + * offset 2752 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2685 + * offset 2753 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2686 + * offset 2754 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2687 + * offset 2755 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2688 + * offset 2756 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2700 + * offset 2768 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2706 + * offset 2774 */ int8_t disableFan1AtSpeed; /** - * offset 2707 + * offset 2775 */ int8_t disableFan2AtSpeed; /** - * offset 2708 + * offset 2776 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2710 + * offset 2778 */ - uint8_t alignmentFill_at_2710[2]; + uint8_t alignmentFill_at_2778[2]; /** - * offset 2712 + * offset 2780 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3144 + * offset 3212 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3146 + * offset 3214 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3148 + * offset 3216 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3150 + * offset 3218 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3152 + * offset 3220 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3154 + * offset 3222 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3156 + * offset 3224 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3158 + * offset 3226 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3160 + * offset 3228 */ uint16_t mc33_t_hold_tot; /** - * offset 3162 + * offset 3230 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3163 + * offset 3231 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3164 + * offset 3232 */ pin_input_mode_e acSwitchMode; /** - * offset 3165 + * offset 3233 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3171 + * offset 3239 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3187 + * offset 3255 */ - uint8_t alignmentFill_at_3187[1]; + uint8_t alignmentFill_at_3255[1]; /** * units: ratio - * offset 3188 + * offset 3256 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3260 + * offset 3328 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3332 + * offset 3400 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3333 + * offset 3401 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3334 + * offset 3402 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3335 + * offset 3403 */ - uint8_t alignmentFill_at_3335[1]; + uint8_t alignmentFill_at_3403[1]; /** * units: mg - * offset 3336 + * offset 3404 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3338 + * offset 3406 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3342 + * offset 3410 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3343 + * offset 3411 */ uint8_t hpfpCamLobes; /** - * offset 3344 + * offset 3412 */ hpfp_cam_e hpfpCam; /** - * offset 3345 + * offset 3413 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3346 + * offset 3414 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3347 + * offset 3415 */ - uint8_t alignmentFill_at_3347[1]; + uint8_t alignmentFill_at_3415[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3348 + * offset 3416 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3350 + * offset 3418 */ uint8_t hpfpActivationAngle; /** - * offset 3351 + * offset 3419 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3352 + * offset 3420 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3354 + * offset 3422 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3356 + * offset 3424 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3374 + * offset 3442 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3390 + * offset 3458 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3398 + * offset 3466 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3414 + * offset 3482 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3614 + * offset 3682 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3634 + * offset 3702 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3644 + * offset 3712 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3744 + * offset 3812 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3764 + * offset 3832 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3774 + * offset 3842 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3782 + * offset 3850 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3802 + * offset 3870 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3804 + * offset 3872 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3812 + * offset 3880 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3828 + * offset 3896 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3836 + * offset 3904 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3844 + * offset 3912 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3852 + * offset 3920 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3888 + * offset 3956 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3900 + * offset 3968 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3912 + * offset 3980 */ GearControllerMode gearControllerMode; /** - * offset 3913 + * offset 3981 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3914 + * offset 3982 */ uint16_t acrDisablePhase; /** - * offset 3916 + * offset 3984 */ linear_sensor_s auxLinear1; /** - * offset 3936 + * offset 4004 */ linear_sensor_s auxLinear2; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3962 + * offset 4030 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3963 + * offset 4031 */ - uint8_t alignmentFill_at_3963[1]; + uint8_t alignmentFill_at_4031[1]; /** - * offset 3964 + * offset 4032 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3966 + * offset 4034 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3968 + * offset 4036 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3969 + * offset 4037 */ - uint8_t alignmentFill_at_3969[1]; + uint8_t alignmentFill_at_4037[1]; /** - * offset 3970 + * offset 4038 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3972 + * offset 4040 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3974 + * offset 4042 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3975 + * offset 4043 */ - uint8_t alignmentFill_at_3975[1]; + uint8_t alignmentFill_at_4043[1]; /** - * offset 3976 + * offset 4044 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3978 + * offset 4046 */ output_pin_e acrPin2; /** * units: % - * offset 3980 + * offset 4048 */ float etbMinimumPosition; /** - * offset 3984 + * offset 4052 */ uint16_t tuneHidingKey; /** - * offset 3986 + * offset 4054 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 4003 + * offset 4071 */ - uint8_t alignmentFill_at_4003[1]; + uint8_t alignmentFill_at_4071[1]; /** - * offset 4004 + * offset 4072 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4068 + * offset 4136 */ float etbDutyShutdownThreshold; /** - * offset 4072 + * offset 4140 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4073 + * offset 4141 */ - uint8_t alignmentFill_at_4073[1]; + uint8_t alignmentFill_at_4141[1]; /** - * offset 4074 + * offset 4142 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4090 + * offset 4158 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4094 + * offset 4162 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4096 + * offset 4164 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4098 + * offset 4166 */ int16_t ALSMaxDuration; /** * units: C - * offset 4100 + * offset 4168 */ int8_t ALSMinCLT; /** * units: C - * offset 4101 + * offset 4169 */ int8_t ALSMaxCLT; /** - * offset 4102 + * offset 4170 */ uint8_t alsMinTimeBetween; /** - * offset 4103 + * offset 4171 */ uint8_t alsEtbPosition; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4105 + * offset 4173 */ SentEtbType sentEtbType; /** - * offset 4106 + * offset 4174 */ uint16_t customSentTpsMin; /** * units: % - * offset 4108 + * offset 4176 */ int ALSIdleAdd; /** * units: % - * offset 4112 + * offset 4180 */ int ALSEtbAdd; /** - * offset 4116 + * offset 4184 */ float ALSSkipRatio; /** * units: % - * offset 4120 + * offset 4188 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4121 + * offset 4189 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4122 + * offset 4190 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4123 + * offset 4191 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4124 + * offset 4192 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4132 + * offset 4200 */ uint16_t customSentTpsMax; /** - * offset 4134 + * offset 4202 */ uint16_t kLineBaudRate; /** - * offset 4136 + * offset 4204 */ CanGpioType canGpioType; /** - * offset 4137 + * offset 4205 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4138 + * offset 4206 */ int16_t hpfpPeakPos; /** * units: us - * offset 4140 + * offset 4208 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4142 + * offset 4210 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4143 + * offset 4211 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4144 + * offset 4212 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4145 + * offset 4213 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4146 + * offset 4214 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4148 + * offset 4216 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4149 + * offset 4217 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4159 + * offset 4227 */ - uint8_t alignmentFill_at_4159[1]; + uint8_t alignmentFill_at_4227[1]; /** * How many test bench pulses do you want - * offset 4160 + * offset 4228 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4164 + * offset 4232 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4165 + * offset 4233 */ scaled_channel iacByTpsDecayTime; /** - * offset 4166 + * offset 4234 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4178 + * offset 4246 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4184 + * offset 4252 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4186 + * offset 4254 */ - uint8_t alignmentFill_at_4186[2]; + uint8_t alignmentFill_at_4254[2]; /** - * offset 4188 + * offset 4256 */ ThermistorConf oilTempSensor; /** - * offset 4220 + * offset 4288 */ ThermistorConf fuelTempSensor; /** - * offset 4252 + * offset 4320 */ ThermistorConf ambientTempSensor; /** - * offset 4284 + * offset 4352 */ 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 4316 + * offset 4384 */ 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 4317 + * offset 4385 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4318 + * offset 4386 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4322 + * offset 4390 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4324 + * offset 4392 */ uint16_t speedometerPulsePerKm; /** - * offset 4326 + * offset 4394 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4330 + * offset 4398 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4331 + * offset 4399 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4348 + * offset 4416 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4364 + * offset 4432 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4400 + * offset 4468 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4401 + * offset 4469 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4402 + * offset 4470 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4403 + * offset 4471 */ - uint8_t alignmentFill_at_4403[1]; + uint8_t alignmentFill_at_4471[1]; /** - * offset 4404 + * offset 4472 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4428 + * offset 4496 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4596); +static_assert(sizeof(engine_configuration_s) == 4664); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4596 + * offset 4664 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4628 + * offset 4696 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4660 + * offset 4728 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4724 + * offset 4792 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4732 + * offset 4800 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4740 + * offset 4808 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4756 + * offset 4824 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4788 + * offset 4856 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4804 + * offset 4872 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4836 + * offset 4904 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4868 + * offset 4936 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4932 + * offset 5000 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4996 + * offset 5064 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5060 + * offset 5128 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5124 + * offset 5192 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5156 + * offset 5224 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5188 + * offset 5256 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5220 + * offset 5288 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5252 + * offset 5320 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5284 + * offset 5352 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5316 + * offset 5384 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5348 + * offset 5416 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5380 + * offset 5448 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5396 + * offset 5464 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5412 + * offset 5480 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5476 + * offset 5544 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5508 + * offset 5576 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5540 + * offset 5608 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5548 + * offset 5616 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5556 + * offset 5624 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5572 + * offset 5640 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5588 + * offset 5656 */ warning_message_t warning_message; /** * units: C - * offset 5708 + * offset 5776 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5740 + * offset 5808 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5772 + * offset 5840 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5804 + * offset 5872 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5836 + * offset 5904 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5900 + * offset 5968 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5908 + * offset 5976 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5972 + * offset 6040 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5980 + * offset 6048 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6044 + * offset 6112 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6052 + * offset 6120 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6060 + * offset 6128 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6092 + * offset 6160 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6124 + * offset 6192 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6132 + * offset 6200 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6164 + * offset 6232 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6168 + * offset 6236 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6172 + * offset 6240 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6204 + * offset 6272 */ lua_script_t luaScript; /** * units: C - * offset 14204 + * offset 14272 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14268 + * offset 14336 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14332 + * offset 14400 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14396 + * offset 14464 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14460 + * offset 14528 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14492 + * offset 14560 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14524 + * offset 14592 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14556 + * offset 14624 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14588 + * offset 14656 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14652 + * offset 14720 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14716 + * offset 14784 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14844 + * offset 14912 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14972 + * offset 15040 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15036 + * offset 15104 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15044 + * offset 15112 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15052 + * offset 15120 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15564 + * offset 15632 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15596 + * offset 15664 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15628 + * offset 15696 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15688 + * offset 15756 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16200 + * offset 16268 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16232 + * offset 16300 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16264 + * offset 16332 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16328 + * offset 16396 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16344 + * offset 16412 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16360 + * offset 16428 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16424 + * offset 16492 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16440 + * offset 16508 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16456 + * offset 16524 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16968 + * offset 17036 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 17000 + * offset 17068 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17032 + * offset 17100 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17544 + * offset 17612 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17576 + * offset 17644 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17608 + * offset 17676 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17864 + * offset 17932 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17896 + * offset 17964 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17928 + * offset 17996 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18184 + * offset 18252 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18216 + * offset 18284 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18248 + * offset 18316 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18504 + * offset 18572 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18520 + * offset 18588 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18536 + * offset 18604 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18600 + * offset 18668 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18616 + * offset 18684 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18632 + * offset 18700 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18696 + * offset 18764 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18712 + * offset 18780 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18728 + * offset 18796 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18808 + * offset 18876 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18824 + * offset 18892 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18844 + * offset 18912 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18852 + * offset 18920 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18860 + * offset 18928 */ cyl_trim_s ignTrims[12]; /** - * offset 19052 + * offset 19120 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19060 + * offset 19128 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19068 + * offset 19136 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19260 + * offset 19328 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19276 + * offset 19344 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19364 + * offset 19432 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19372 + * offset 19440 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19380 + * offset 19448 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19388 + * offset 19456 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19396 + * offset 19464 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19404 + * offset 19472 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19412 + * offset 19480 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19420 + * offset 19488 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19456 + * offset 19524 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19462 + * offset 19530 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19468 + * offset 19536 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19504 + * offset 19572 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19510 + * offset 19578 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19516 + * offset 19584 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19548 + * offset 19616 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19556 + * offset 19624 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19564 + * offset 19632 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19596 + * offset 19664 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19604 + * offset 19672 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19612 + * offset 19680 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19644 + * offset 19712 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19652 + * offset 19720 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19660 + * offset 19728 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20412 + * offset 20480 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21164 + * offset 21232 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21188 + * offset 21256 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21212 + * offset 21280 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21588 + * offset 21656 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21964 + * offset 22032 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21970 + * offset 22038 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21976 + * offset 22044 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21982 + * offset 22050 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21988 + * offset 22056 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21994 + * offset 22062 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 22000 + * offset 22068 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 22006 + * offset 22074 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 22012 + * offset 22080 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22018 + * offset 22086 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22024 + * offset 22092 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22030 + * offset 22098 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22046 + * offset 22114 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22054 + * offset 22122 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22062 + * offset 22130 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22098 + * offset 22166 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22110 + * offset 22178 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22122 + * offset 22190 */ - uint8_t alignmentFill_at_22122[2]; + uint8_t alignmentFill_at_22190[2]; }; -static_assert(sizeof(persistent_config_s) == 22124); +static_assert(sizeof(persistent_config_s) == 22192); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:56 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:17 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h index cfde196ccd..36427e02ba 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:59 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:19 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1264 + * offset 1332 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1328 + * offset 1396 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1330 + * offset 1398 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1332 bit 0 */ + offset 1400 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1332 bit 1 */ + offset 1400 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1332 bit 2 */ + offset 1400 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1332 bit 3 */ + offset 1400 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1332 bit 4 */ + offset 1400 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1332 bit 5 */ + offset 1400 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1332 bit 6 */ + offset 1400 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1332 bit 7 */ + offset 1400 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1332 bit 8 */ + offset 1400 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1332 bit 9 */ + offset 1400 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1332 bit 10 */ + offset 1400 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1332 bit 11 */ + offset 1400 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1332 bit 12 */ + offset 1400 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1332 bit 13 */ + offset 1400 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1332 bit 14 */ + offset 1400 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1332 bit 15 */ + offset 1400 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1332 bit 16 */ + offset 1400 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1332 bit 17 */ + offset 1400 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1332 bit 18 */ + offset 1400 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1332 bit 19 */ + offset 1400 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1332 bit 20 */ + offset 1400 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1332 bit 21 */ + offset 1400 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1332 bit 22 */ + offset 1400 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1332 bit 23 */ + offset 1400 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1332 bit 24 */ + offset 1400 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1332 bit 25 */ + offset 1400 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1332 bit 26 */ + offset 1400 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1332 bit 27 */ + offset 1400 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1332 bit 28 */ + offset 1400 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1332 bit 29 */ + offset 1400 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1332 bit 30 */ + offset 1400 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1332 bit 31 */ + offset 1400 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1336 + * offset 1404 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1337 + * offset 1405 */ - uint8_t alignmentFill_at_1337[1]; + uint8_t alignmentFill_at_1405[1]; /** * A/C button input - * offset 1338 + * offset 1406 */ switch_input_pin_e acSwitch; /** - * offset 1340 + * offset 1408 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1341 + * offset 1409 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1342 + * offset 1410 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1343 + * offset 1411 */ - uint8_t alignmentFill_at_1343[1]; + uint8_t alignmentFill_at_1411[1]; /** - offset 1344 bit 0 */ + offset 1412 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1344 bit 1 */ + offset 1412 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1344 bit 2 */ + offset 1412 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1344 bit 3 */ + offset 1412 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1344 bit 4 */ + offset 1412 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1344 bit 5 */ + offset 1412 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1344 bit 6 */ + offset 1412 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1344 bit 7 */ + offset 1412 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1344 bit 8 */ + offset 1412 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1344 bit 9 */ + offset 1412 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1344 bit 10 */ + offset 1412 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1344 bit 11 */ + offset 1412 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1344 bit 12 */ + offset 1412 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1344 bit 13 */ + offset 1412 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1344 bit 14 */ + offset 1412 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1344 bit 15 */ + offset 1412 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1344 bit 16 */ + offset 1412 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1344 bit 17 */ + offset 1412 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1344 bit 18 */ + offset 1412 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1344 bit 19 */ + offset 1412 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1344 bit 20 */ + offset 1412 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1344 bit 21 */ + offset 1412 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1344 bit 22 */ + offset 1412 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1344 bit 23 */ + offset 1412 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1344 bit 24 */ + offset 1412 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1344 bit 25 */ + offset 1412 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1344 bit 26 */ + offset 1412 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1344 bit 27 */ + offset 1412 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1344 bit 28 */ + offset 1412 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1344 bit 29 */ + offset 1412 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1344 bit 30 */ + offset 1412 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1344 bit 31 */ + offset 1412 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1348 + * offset 1416 */ uint32_t engineChartSize; /** * units: mult - * offset 1352 + * offset 1420 */ float turboSpeedSensorMultiplier; /** - * offset 1356 + * offset 1424 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1364 + * offset 1432 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1366 + * offset 1434 */ int16_t warningPeriod; /** * units: angle - * offset 1368 + * offset 1436 */ float knockDetectionWindowStart; /** * units: angle - * offset 1372 + * offset 1440 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1376 + * offset 1444 */ float idleStepperReactionTime; /** * units: count - * offset 1380 + * offset 1448 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1384 + * offset 1452 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1388 + * offset 1456 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1392 + * offset 1460 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1396 + * offset 1464 */ float wwaeTau; /** - * offset 1400 + * offset 1468 */ pid_s alternatorControl; /** - * offset 1420 + * offset 1488 */ pid_s etb; /** - * offset 1440 + * offset 1508 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1444 + * offset 1512 */ int16_t airTaperRpmRange; /** - * offset 1446 + * offset 1514 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1448 + * offset 1516 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1450 + * offset 1518 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1452 + * offset 1520 */ output_pin_e starterControlPin; /** - * offset 1454 + * offset 1522 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1455 + * offset 1523 */ - uint8_t alignmentFill_at_1455[1]; + uint8_t alignmentFill_at_1523[1]; /** - * offset 1456 + * offset 1524 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1458 + * offset 1526 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1459 + * offset 1527 */ - uint8_t alignmentFill_at_1459[1]; + uint8_t alignmentFill_at_1527[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1460 + * offset 1528 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1464 + * offset 1532 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1468 + * offset 1536 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1470 + * offset 1538 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1472 + * offset 1540 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1492 + * offset 1560 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1496 + * offset 1564 */ Gpio binarySerialTxPin; /** - * offset 1498 + * offset 1566 */ Gpio binarySerialRxPin; /** - * offset 1500 + * offset 1568 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1504 + * offset 1572 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1506 + * offset 1574 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1508 + * offset 1576 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1512 + * offset 1580 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1516 + * offset 1584 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1518 + * offset 1586 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1520 + * offset 1588 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1524 bit 0 */ + offset 1592 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1524 bit 1 */ + offset 1592 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1524 bit 2 */ + offset 1592 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1524 bit 3 */ + offset 1592 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1524 bit 4 */ + offset 1592 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1524 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1592 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1524 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1592 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1524 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1592 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1524 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1592 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1524 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1592 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1524 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1592 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1524 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1592 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1524 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1592 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1524 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1592 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1524 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1592 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1524 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1592 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1524 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1592 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1524 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1592 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1524 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1592 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1524 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1592 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1524 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1592 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1524 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1592 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1524 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1592 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1524 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1592 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1524 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1592 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1524 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1592 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1524 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1592 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1524 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1592 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1524 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1592 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1524 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1592 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1524 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1592 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1524 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1592 bit 31 */ + bool unusedBit_495_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 - * offset 1528 + * offset 1596 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1530 + * offset 1598 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1532 + * offset 1600 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1534 + * offset 1602 */ Gpio auxSerialRxPin; /** - * offset 1536 + * offset 1604 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1538 + * offset 1606 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1539 + * offset 1607 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1540 + * offset 1608 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1541 + * offset 1609 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1542 + * offset 1610 */ - uint8_t alignmentFill_at_1542[2]; + uint8_t alignmentFill_at_1610[2]; /** * 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. * units: roc - * offset 1544 + * offset 1612 */ float tpsAccelEnrichmentThreshold; /** - * offset 1548 + * offset 1616 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1552 + * offset 1620 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1553 + * offset 1621 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1554 + * offset 1622 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1555 + * offset 1623 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1556 + * offset 1624 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1560 + * offset 1628 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1564 + * offset 1632 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1568 + * offset 1636 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1572 + * offset 1640 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1576 + * offset 1644 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1580 + * offset 1648 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1581 + * offset 1649 */ ve_override_e veOverrideMode; /** - * offset 1582 + * offset 1650 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1583 + * offset 1651 */ load_override_e afrOverrideMode; /** * units: A - * offset 1584 + * offset 1652 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1585 + * offset 1653 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1586 + * offset 1654 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1587 + * offset 1655 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1588 bit 0 */ + offset 1656 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1588 bit 1 */ + offset 1656 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1588 bit 2 */ + offset 1656 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1588 bit 3 */ + offset 1656 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1588 bit 4 */ + offset 1656 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1588 bit 5 */ + offset 1656 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1588 bit 6 */ + offset 1656 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1588 bit 7 */ + offset 1656 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1588 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1656 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1588 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1656 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1588 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1656 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1588 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1656 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1588 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1656 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1588 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1656 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1588 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1656 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1588 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1656 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1588 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1656 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1588 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1656 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1588 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1656 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1588 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1656 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1588 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1656 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1588 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1656 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1588 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1656 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1588 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1656 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1588 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1656 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1588 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1656 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1588 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1656 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1588 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1656 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1588 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1656 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1588 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1656 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1588 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1656 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1588 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1656 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1592 + * offset 1660 */ uint8_t camDecoder2jzPosition; /** - * offset 1593 + * offset 1661 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1594 + * offset 1662 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1596 + * offset 1664 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1597 + * offset 1665 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1598 + * offset 1666 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1599 + * offset 1667 */ - uint8_t alignmentFill_at_1599[1]; + uint8_t alignmentFill_at_1667[1]; /** * set_can2_tx_pin X - * offset 1600 + * offset 1668 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1602 + * offset 1670 */ Gpio can2RxPin; /** - * offset 1604 + * offset 1672 */ pin_output_mode_e starterControlPinMode; /** - * offset 1605 + * offset 1673 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1606 + * offset 1674 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1607 + * offset 1675 */ injector_pressure_type_e injectorPressureType; /** - * offset 1608 + * offset 1676 */ output_pin_e hpfpValvePin; /** - * offset 1610 + * offset 1678 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1611 + * offset 1679 */ - uint8_t alignmentFill_at_1611[1]; + uint8_t alignmentFill_at_1679[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1612 + * offset 1680 */ float boostCutPressure; /** * units: kg/h - * offset 1616 + * offset 1684 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1632 + * offset 1700 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1648 + * offset 1716 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1652 + * offset 1720 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1656 + * offset 1724 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1660 + * offset 1728 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1664 + * offset 1732 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1672 + * offset 1740 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1673 + * offset 1741 */ - uint8_t alignmentFill_at_1673[3]; + uint8_t alignmentFill_at_1741[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1676 + * offset 1744 */ int crankingIACposition; /** - * offset 1680 + * offset 1748 */ float tChargeMinRpmMinTps; /** - * offset 1684 + * offset 1752 */ float tChargeMinRpmMaxTps; /** - * offset 1688 + * offset 1756 */ float tChargeMaxRpmMinTps; /** - * offset 1692 + * offset 1760 */ float tChargeMaxRpmMaxTps; /** - * offset 1696 + * offset 1764 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1698 + * offset 1766 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1699 + * offset 1767 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1700 + * offset 1768 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1704 + * offset 1772 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1706 + * offset 1774 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1707 + * offset 1775 */ scaled_channel primingDelay; /** - * offset 1708 + * offset 1776 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1716 + * offset 1784 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1740 + * offset 1808 */ tle8888_mode_e tle8888mode; /** - * offset 1741 + * offset 1809 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1742 + * offset 1810 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1743 + * offset 1811 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1744 + * offset 1812 */ float fuelReferencePressure; /** * units: mult - * offset 1748 + * offset 1816 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1892 + * offset 1960 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1916 + * offset 1984 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1940 + * offset 2008 */ ThermistorConf auxTempSensor1; /** - * offset 1972 + * offset 2040 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 2004 + * offset 2072 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 2006 + * offset 2074 */ int16_t etbFreq; /** - * offset 2008 + * offset 2076 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2028 + * offset 2096 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2029 + * offset 2097 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2030 + * offset 2098 */ uint8_t stepperMaxDutyCycle; /** - * offset 2031 + * offset 2099 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2032 + * offset 2100 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2080 + * offset 2148 */ float idlePidActivationTime; /** - * offset 2084 + * offset 2152 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2085 + * offset 2153 */ pin_mode_e spi1MosiMode; /** - * offset 2086 + * offset 2154 */ pin_mode_e spi1MisoMode; /** - * offset 2087 + * offset 2155 */ pin_mode_e spi2SckMode; /** - * offset 2088 + * offset 2156 */ pin_mode_e spi2MosiMode; /** - * offset 2089 + * offset 2157 */ pin_mode_e spi2MisoMode; /** - * offset 2090 + * offset 2158 */ pin_mode_e spi3SckMode; /** - * offset 2091 + * offset 2159 */ pin_mode_e spi3MosiMode; /** - * offset 2092 + * offset 2160 */ pin_mode_e spi3MisoMode; /** - * offset 2093 + * offset 2161 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2094 + * offset 2162 */ Gpio mc33816_rstb; /** - * offset 2096 + * offset 2164 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2098 + * offset 2166 */ switch_input_pin_e brakePedalPin; /** - * offset 2100 + * offset 2168 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2101 + * offset 2169 */ - uint8_t alignmentFill_at_2101[3]; + uint8_t alignmentFill_at_2169[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2104 + * offset 2172 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2144 + * offset 2212 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2176 + * offset 2244 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2184 + * offset 2252 */ linear_sensor_s oilPressure; /** - * offset 2204 + * offset 2272 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2205 + * offset 2273 */ - uint8_t alignmentFill_at_2205[1]; + uint8_t alignmentFill_at_2273[1]; /** - * offset 2206 + * offset 2274 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2208 + * offset 2276 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2209 + * offset 2277 */ uint8_t fan2OffTemperature; /** - * offset 2210 + * offset 2278 */ Gpio stepperEnablePin; /** - * offset 2212 + * offset 2280 */ Gpio tle8888_cs; /** - * offset 2214 + * offset 2282 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2215 + * offset 2283 */ - uint8_t alignmentFill_at_2215[1]; + uint8_t alignmentFill_at_2283[1]; /** - * offset 2216 + * offset 2284 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2218 + * offset 2286 */ - uint8_t alignmentFill_at_2218[2]; + uint8_t alignmentFill_at_2286[2]; /** * units: hz - * offset 2220 + * offset 2288 */ float auxFrequencyFilter; /** * units: RPM - * offset 2224 + * offset 2292 */ int16_t vvtControlMinRpm; /** - * offset 2226 + * offset 2294 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2228 + * offset 2296 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2229 + * offset 2297 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2230 + * offset 2298 */ uint16_t etbExpAverageLength; /** - * offset 2232 + * offset 2300 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2236 + * offset 2304 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2238 + * offset 2306 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2240 + * offset 2308 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2242 + * offset 2310 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2658 + * offset 2726 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2660 + * offset 2728 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2664 + * offset 2732 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2676 + * offset 2744 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2684 + * offset 2752 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2685 + * offset 2753 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2686 + * offset 2754 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2687 + * offset 2755 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2688 + * offset 2756 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2700 + * offset 2768 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2706 + * offset 2774 */ int8_t disableFan1AtSpeed; /** - * offset 2707 + * offset 2775 */ int8_t disableFan2AtSpeed; /** - * offset 2708 + * offset 2776 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2710 + * offset 2778 */ - uint8_t alignmentFill_at_2710[2]; + uint8_t alignmentFill_at_2778[2]; /** - * offset 2712 + * offset 2780 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3144 + * offset 3212 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3146 + * offset 3214 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3148 + * offset 3216 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3150 + * offset 3218 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3152 + * offset 3220 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3154 + * offset 3222 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3156 + * offset 3224 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3158 + * offset 3226 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3160 + * offset 3228 */ uint16_t mc33_t_hold_tot; /** - * offset 3162 + * offset 3230 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3163 + * offset 3231 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3164 + * offset 3232 */ pin_input_mode_e acSwitchMode; /** - * offset 3165 + * offset 3233 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3171 + * offset 3239 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3187 + * offset 3255 */ - uint8_t alignmentFill_at_3187[1]; + uint8_t alignmentFill_at_3255[1]; /** * units: ratio - * offset 3188 + * offset 3256 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3260 + * offset 3328 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3332 + * offset 3400 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3333 + * offset 3401 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3334 + * offset 3402 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3335 + * offset 3403 */ - uint8_t alignmentFill_at_3335[1]; + uint8_t alignmentFill_at_3403[1]; /** * units: mg - * offset 3336 + * offset 3404 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3338 + * offset 3406 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3342 + * offset 3410 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3343 + * offset 3411 */ uint8_t hpfpCamLobes; /** - * offset 3344 + * offset 3412 */ hpfp_cam_e hpfpCam; /** - * offset 3345 + * offset 3413 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3346 + * offset 3414 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3347 + * offset 3415 */ - uint8_t alignmentFill_at_3347[1]; + uint8_t alignmentFill_at_3415[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3348 + * offset 3416 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3350 + * offset 3418 */ uint8_t hpfpActivationAngle; /** - * offset 3351 + * offset 3419 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3352 + * offset 3420 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3354 + * offset 3422 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3356 + * offset 3424 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3374 + * offset 3442 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3390 + * offset 3458 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3398 + * offset 3466 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3414 + * offset 3482 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3614 + * offset 3682 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3634 + * offset 3702 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3644 + * offset 3712 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3744 + * offset 3812 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3764 + * offset 3832 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3774 + * offset 3842 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3782 + * offset 3850 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3802 + * offset 3870 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3804 + * offset 3872 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3812 + * offset 3880 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3828 + * offset 3896 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3836 + * offset 3904 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3844 + * offset 3912 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3852 + * offset 3920 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3888 + * offset 3956 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3900 + * offset 3968 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3912 + * offset 3980 */ GearControllerMode gearControllerMode; /** - * offset 3913 + * offset 3981 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3914 + * offset 3982 */ uint16_t acrDisablePhase; /** - * offset 3916 + * offset 3984 */ linear_sensor_s auxLinear1; /** - * offset 3936 + * offset 4004 */ linear_sensor_s auxLinear2; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3962 + * offset 4030 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3963 + * offset 4031 */ - uint8_t alignmentFill_at_3963[1]; + uint8_t alignmentFill_at_4031[1]; /** - * offset 3964 + * offset 4032 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3966 + * offset 4034 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3968 + * offset 4036 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3969 + * offset 4037 */ - uint8_t alignmentFill_at_3969[1]; + uint8_t alignmentFill_at_4037[1]; /** - * offset 3970 + * offset 4038 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3972 + * offset 4040 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3974 + * offset 4042 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3975 + * offset 4043 */ - uint8_t alignmentFill_at_3975[1]; + uint8_t alignmentFill_at_4043[1]; /** - * offset 3976 + * offset 4044 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3978 + * offset 4046 */ output_pin_e acrPin2; /** * units: % - * offset 3980 + * offset 4048 */ float etbMinimumPosition; /** - * offset 3984 + * offset 4052 */ uint16_t tuneHidingKey; /** - * offset 3986 + * offset 4054 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 4003 + * offset 4071 */ - uint8_t alignmentFill_at_4003[1]; + uint8_t alignmentFill_at_4071[1]; /** - * offset 4004 + * offset 4072 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4068 + * offset 4136 */ float etbDutyShutdownThreshold; /** - * offset 4072 + * offset 4140 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4073 + * offset 4141 */ - uint8_t alignmentFill_at_4073[1]; + uint8_t alignmentFill_at_4141[1]; /** - * offset 4074 + * offset 4142 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4090 + * offset 4158 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4094 + * offset 4162 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4096 + * offset 4164 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4098 + * offset 4166 */ int16_t ALSMaxDuration; /** * units: C - * offset 4100 + * offset 4168 */ int8_t ALSMinCLT; /** * units: C - * offset 4101 + * offset 4169 */ int8_t ALSMaxCLT; /** - * offset 4102 + * offset 4170 */ uint8_t alsMinTimeBetween; /** - * offset 4103 + * offset 4171 */ uint8_t alsEtbPosition; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4105 + * offset 4173 */ SentEtbType sentEtbType; /** - * offset 4106 + * offset 4174 */ uint16_t customSentTpsMin; /** * units: % - * offset 4108 + * offset 4176 */ int ALSIdleAdd; /** * units: % - * offset 4112 + * offset 4180 */ int ALSEtbAdd; /** - * offset 4116 + * offset 4184 */ float ALSSkipRatio; /** * units: % - * offset 4120 + * offset 4188 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4121 + * offset 4189 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4122 + * offset 4190 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4123 + * offset 4191 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4124 + * offset 4192 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4132 + * offset 4200 */ uint16_t customSentTpsMax; /** - * offset 4134 + * offset 4202 */ uint16_t kLineBaudRate; /** - * offset 4136 + * offset 4204 */ CanGpioType canGpioType; /** - * offset 4137 + * offset 4205 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4138 + * offset 4206 */ int16_t hpfpPeakPos; /** * units: us - * offset 4140 + * offset 4208 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4142 + * offset 4210 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4143 + * offset 4211 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4144 + * offset 4212 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4145 + * offset 4213 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4146 + * offset 4214 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4148 + * offset 4216 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4149 + * offset 4217 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4159 + * offset 4227 */ - uint8_t alignmentFill_at_4159[1]; + uint8_t alignmentFill_at_4227[1]; /** * How many test bench pulses do you want - * offset 4160 + * offset 4228 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4164 + * offset 4232 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4165 + * offset 4233 */ scaled_channel iacByTpsDecayTime; /** - * offset 4166 + * offset 4234 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4178 + * offset 4246 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4184 + * offset 4252 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4186 + * offset 4254 */ - uint8_t alignmentFill_at_4186[2]; + uint8_t alignmentFill_at_4254[2]; /** - * offset 4188 + * offset 4256 */ ThermistorConf oilTempSensor; /** - * offset 4220 + * offset 4288 */ ThermistorConf fuelTempSensor; /** - * offset 4252 + * offset 4320 */ ThermistorConf ambientTempSensor; /** - * offset 4284 + * offset 4352 */ 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 4316 + * offset 4384 */ 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 4317 + * offset 4385 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4318 + * offset 4386 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4322 + * offset 4390 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4324 + * offset 4392 */ uint16_t speedometerPulsePerKm; /** - * offset 4326 + * offset 4394 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4330 + * offset 4398 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4331 + * offset 4399 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4348 + * offset 4416 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4364 + * offset 4432 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4400 + * offset 4468 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4401 + * offset 4469 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4402 + * offset 4470 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4403 + * offset 4471 */ - uint8_t alignmentFill_at_4403[1]; + uint8_t alignmentFill_at_4471[1]; /** - * offset 4404 + * offset 4472 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4428 + * offset 4496 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4596); +static_assert(sizeof(engine_configuration_s) == 4664); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4596 + * offset 4664 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4628 + * offset 4696 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4660 + * offset 4728 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4724 + * offset 4792 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4732 + * offset 4800 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4740 + * offset 4808 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4756 + * offset 4824 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4788 + * offset 4856 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4804 + * offset 4872 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4836 + * offset 4904 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4868 + * offset 4936 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4932 + * offset 5000 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4996 + * offset 5064 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5060 + * offset 5128 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5124 + * offset 5192 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5156 + * offset 5224 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5188 + * offset 5256 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5220 + * offset 5288 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5252 + * offset 5320 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5284 + * offset 5352 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5316 + * offset 5384 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5348 + * offset 5416 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5380 + * offset 5448 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5396 + * offset 5464 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5412 + * offset 5480 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5476 + * offset 5544 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5508 + * offset 5576 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5540 + * offset 5608 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5548 + * offset 5616 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5556 + * offset 5624 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5572 + * offset 5640 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5588 + * offset 5656 */ warning_message_t warning_message; /** * units: C - * offset 5708 + * offset 5776 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5740 + * offset 5808 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5772 + * offset 5840 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5804 + * offset 5872 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5836 + * offset 5904 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5900 + * offset 5968 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5908 + * offset 5976 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5972 + * offset 6040 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5980 + * offset 6048 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6044 + * offset 6112 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6052 + * offset 6120 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6060 + * offset 6128 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6092 + * offset 6160 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6124 + * offset 6192 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6132 + * offset 6200 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6164 + * offset 6232 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6168 + * offset 6236 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6172 + * offset 6240 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6204 + * offset 6272 */ lua_script_t luaScript; /** * units: C - * offset 14204 + * offset 14272 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14268 + * offset 14336 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14332 + * offset 14400 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14396 + * offset 14464 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14460 + * offset 14528 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14492 + * offset 14560 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14524 + * offset 14592 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14556 + * offset 14624 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14588 + * offset 14656 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14652 + * offset 14720 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14716 + * offset 14784 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14844 + * offset 14912 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14972 + * offset 15040 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15036 + * offset 15104 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15044 + * offset 15112 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15052 + * offset 15120 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15564 + * offset 15632 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15596 + * offset 15664 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15628 + * offset 15696 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15688 + * offset 15756 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16200 + * offset 16268 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16232 + * offset 16300 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16264 + * offset 16332 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16328 + * offset 16396 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16344 + * offset 16412 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16360 + * offset 16428 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16424 + * offset 16492 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16440 + * offset 16508 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16456 + * offset 16524 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16968 + * offset 17036 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 17000 + * offset 17068 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17032 + * offset 17100 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17544 + * offset 17612 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17576 + * offset 17644 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17608 + * offset 17676 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17864 + * offset 17932 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17896 + * offset 17964 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17928 + * offset 17996 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18184 + * offset 18252 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18216 + * offset 18284 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18248 + * offset 18316 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18504 + * offset 18572 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18520 + * offset 18588 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18536 + * offset 18604 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18600 + * offset 18668 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18616 + * offset 18684 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18632 + * offset 18700 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18696 + * offset 18764 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18712 + * offset 18780 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18728 + * offset 18796 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18808 + * offset 18876 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18824 + * offset 18892 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18844 + * offset 18912 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18852 + * offset 18920 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18860 + * offset 18928 */ cyl_trim_s ignTrims[12]; /** - * offset 19052 + * offset 19120 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19060 + * offset 19128 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19068 + * offset 19136 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19260 + * offset 19328 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19276 + * offset 19344 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19364 + * offset 19432 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19372 + * offset 19440 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19380 + * offset 19448 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19388 + * offset 19456 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19396 + * offset 19464 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19404 + * offset 19472 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19412 + * offset 19480 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19420 + * offset 19488 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19456 + * offset 19524 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19462 + * offset 19530 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19468 + * offset 19536 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19504 + * offset 19572 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19510 + * offset 19578 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19516 + * offset 19584 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19548 + * offset 19616 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19556 + * offset 19624 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19564 + * offset 19632 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19596 + * offset 19664 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19604 + * offset 19672 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19612 + * offset 19680 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19644 + * offset 19712 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19652 + * offset 19720 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19660 + * offset 19728 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20412 + * offset 20480 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21164 + * offset 21232 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21188 + * offset 21256 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21212 + * offset 21280 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21588 + * offset 21656 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21964 + * offset 22032 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21970 + * offset 22038 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21976 + * offset 22044 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21982 + * offset 22050 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21988 + * offset 22056 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21994 + * offset 22062 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 22000 + * offset 22068 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 22006 + * offset 22074 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 22012 + * offset 22080 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22018 + * offset 22086 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22024 + * offset 22092 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22030 + * offset 22098 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22046 + * offset 22114 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22054 + * offset 22122 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22062 + * offset 22130 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22098 + * offset 22166 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22110 + * offset 22178 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22122 + * offset 22190 */ - uint8_t alignmentFill_at_22122[2]; + uint8_t alignmentFill_at_22190[2]; }; -static_assert(sizeof(persistent_config_s) == 22124); +static_assert(sizeof(persistent_config_s) == 22192); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:34:59 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:19 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h b/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h index d0e3b8446b..706fc771f9 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:32 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:52 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:32 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:52 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h b/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h index 8ae66e4af0..0091d89d14 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:25 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:45 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 2968 + * offset 3036 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 2970 + * offset 3038 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 2972 + * offset 3040 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 2974 + * offset 3042 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 2976 + * offset 3044 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 2978 + * offset 3046 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 2980 + * offset 3048 */ uint16_t mc33_t_bypass; /** * units: us - * offset 2982 + * offset 3050 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 2984 + * offset 3052 */ uint16_t mc33_t_hold_tot; /** - * offset 2986 + * offset 3054 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 2987 + * offset 3055 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 2988 + * offset 3056 */ pin_input_mode_e acSwitchMode; /** - * offset 2989 + * offset 3057 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 2995 + * offset 3063 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3011 + * offset 3079 */ - uint8_t alignmentFill_at_3011[1]; + uint8_t alignmentFill_at_3079[1]; /** * units: ratio - * offset 3012 + * offset 3080 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3084 + * offset 3152 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3156 + * offset 3224 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3157 + * offset 3225 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3158 + * offset 3226 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3159 + * offset 3227 */ - uint8_t alignmentFill_at_3159[1]; + uint8_t alignmentFill_at_3227[1]; /** * units: mg - * offset 3160 + * offset 3228 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3162 + * offset 3230 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3166 + * offset 3234 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3167 + * offset 3235 */ uint8_t hpfpCamLobes; /** - * offset 3168 + * offset 3236 */ hpfp_cam_e hpfpCam; /** - * offset 3169 + * offset 3237 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3170 + * offset 3238 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3172 + * offset 3240 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3174 + * offset 3242 */ uint8_t hpfpActivationAngle; /** - * offset 3175 + * offset 3243 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3176 + * offset 3244 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3178 + * offset 3246 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3180 + * offset 3248 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3182 + * offset 3250 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3198 + * offset 3266 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3214 + * offset 3282 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3222 + * offset 3290 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3238 + * offset 3306 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3438 + * offset 3506 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3458 + * offset 3526 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3468 + * offset 3536 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3568 + * offset 3636 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3588 + * offset 3656 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3598 + * offset 3666 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3606 + * offset 3674 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3626 + * offset 3694 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3628 + * offset 3696 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3636 + * offset 3704 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3644 + * offset 3712 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3652 + * offset 3720 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3660 + * offset 3728 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3668 + * offset 3736 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3676 + * offset 3744 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3712 + * offset 3780 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3724 + * offset 3792 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3736 + * offset 3804 */ GearControllerMode gearControllerMode; /** - * offset 3737 + * offset 3805 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3738 + * offset 3806 */ uint16_t acrDisablePhase; /** - * offset 3740 + * offset 3808 */ linear_sensor_s auxLinear1; /** - * offset 3760 + * offset 3828 */ linear_sensor_s auxLinear2; /** - * offset 3780 + * offset 3848 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3782 + * offset 3850 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3783 + * offset 3851 */ - uint8_t alignmentFill_at_3783[1]; + uint8_t alignmentFill_at_3851[1]; /** - * offset 3784 + * offset 3852 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3786 + * offset 3854 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3787 + * offset 3855 */ - uint8_t alignmentFill_at_3787[1]; + uint8_t alignmentFill_at_3855[1]; /** - * offset 3788 + * offset 3856 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3790 + * offset 3858 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3792 + * offset 3860 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3793 + * offset 3861 */ - uint8_t alignmentFill_at_3793[1]; + uint8_t alignmentFill_at_3861[1]; /** - * offset 3794 + * offset 3862 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3796 + * offset 3864 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3798 + * offset 3866 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3799 + * offset 3867 */ - uint8_t alignmentFill_at_3799[1]; + uint8_t alignmentFill_at_3867[1]; /** - * offset 3800 + * offset 3868 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3802 + * offset 3870 */ output_pin_e acrPin2; /** * units: % - * offset 3804 + * offset 3872 */ float etbMinimumPosition; /** - * offset 3808 + * offset 3876 */ uint16_t tuneHidingKey; /** - * offset 3810 + * offset 3878 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3827 + * offset 3895 */ - uint8_t alignmentFill_at_3827[1]; + uint8_t alignmentFill_at_3895[1]; /** - * offset 3828 + * offset 3896 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 3892 + * offset 3960 */ float etbDutyShutdownThreshold; /** - * offset 3896 + * offset 3964 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 3897 + * offset 3965 */ - uint8_t alignmentFill_at_3897[1]; + uint8_t alignmentFill_at_3965[1]; /** - * offset 3898 + * offset 3966 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 3914 + * offset 3982 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 3918 + * offset 3986 */ int16_t ALSMinRPM; /** * units: rpm - * offset 3920 + * offset 3988 */ int16_t ALSMaxRPM; /** * units: sec - * offset 3922 + * offset 3990 */ int16_t ALSMaxDuration; /** * units: C - * offset 3924 + * offset 3992 */ int8_t ALSMinCLT; /** * units: C - * offset 3925 + * offset 3993 */ int8_t ALSMaxCLT; /** - * offset 3926 + * offset 3994 */ uint8_t alsMinTimeBetween; /** - * offset 3927 + * offset 3995 */ uint8_t alsEtbPosition; /** * units: % - * offset 3928 + * offset 3996 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 3929 + * offset 3997 */ SentEtbType sentEtbType; /** - * offset 3930 + * offset 3998 */ uint16_t customSentTpsMin; /** * units: % - * offset 3932 + * offset 4000 */ int ALSIdleAdd; /** * units: % - * offset 3936 + * offset 4004 */ int ALSEtbAdd; /** - * offset 3940 + * offset 4008 */ float ALSSkipRatio; /** * units: % - * offset 3944 + * offset 4012 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 3945 + * offset 4013 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 3946 + * offset 4014 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 3947 + * offset 4015 */ scaled_channel ppsSecondaryMaximum; /** - * offset 3948 + * offset 4016 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 3956 + * offset 4024 */ uint16_t customSentTpsMax; /** - * offset 3958 + * offset 4026 */ uint16_t kLineBaudRate; /** - * offset 3960 + * offset 4028 */ CanGpioType canGpioType; /** - * offset 3961 + * offset 4029 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 3962 + * offset 4030 */ int16_t hpfpPeakPos; /** * units: us - * offset 3964 + * offset 4032 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 3966 + * offset 4034 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 3967 + * offset 4035 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 3968 + * offset 4036 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 3969 + * offset 4037 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 3970 + * offset 4038 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 3972 + * offset 4040 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 3973 + * offset 4041 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 3983 + * offset 4051 */ - uint8_t alignmentFill_at_3983[1]; + uint8_t alignmentFill_at_4051[1]; /** * How many test bench pulses do you want - * offset 3984 + * offset 4052 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 3988 + * offset 4056 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 3989 + * offset 4057 */ scaled_channel iacByTpsDecayTime; /** - * offset 3990 + * offset 4058 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4002 + * offset 4070 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4008 + * offset 4076 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4010 + * offset 4078 */ - uint8_t alignmentFill_at_4010[2]; + uint8_t alignmentFill_at_4078[2]; /** - * offset 4012 + * offset 4080 */ ThermistorConf oilTempSensor; /** - * offset 4044 + * offset 4112 */ ThermistorConf fuelTempSensor; /** - * offset 4076 + * offset 4144 */ ThermistorConf ambientTempSensor; /** - * offset 4108 + * offset 4176 */ 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 4140 + * offset 4208 */ 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 4141 + * offset 4209 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4142 + * offset 4210 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4146 + * offset 4214 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4148 + * offset 4216 */ uint16_t speedometerPulsePerKm; /** - * offset 4150 + * offset 4218 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4154 + * offset 4222 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4155 + * offset 4223 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4156 + * offset 4224 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4172 + * offset 4240 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4188 + * offset 4256 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4224 + * offset 4292 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4225 + * offset 4293 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4226 + * offset 4294 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4227 + * offset 4295 */ - uint8_t alignmentFill_at_4227[1]; + uint8_t alignmentFill_at_4295[1]; /** - * offset 4228 + * offset 4296 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4252 + * offset 4320 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4420); +static_assert(sizeof(engine_configuration_s) == 4488); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4420 + * offset 4488 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4452 + * offset 4520 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4484 + * offset 4552 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4548 + * offset 4616 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4556 + * offset 4624 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4564 + * offset 4632 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4580 + * offset 4648 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4596 + * offset 4664 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4612 + * offset 4680 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4628 + * offset 4696 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4660 + * offset 4728 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4692 + * offset 4760 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4756 + * offset 4824 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4820 + * offset 4888 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4884 + * offset 4952 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 4948 + * offset 5016 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 4980 + * offset 5048 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5012 + * offset 5080 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5076 + * offset 5144 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5108 + * offset 5176 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5140 + * offset 5208 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5172 + * offset 5240 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5204 + * offset 5272 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5220 + * offset 5288 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5236 + * offset 5304 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5300 + * offset 5368 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5332 + * offset 5400 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5364 + * offset 5432 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5372 + * offset 5440 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5380 + * offset 5448 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5396 + * offset 5464 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5412 + * offset 5480 */ warning_message_t warning_message; /** * units: C - * offset 5532 + * offset 5600 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5564 + * offset 5632 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5596 + * offset 5664 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5628 + * offset 5696 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5660 + * offset 5728 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5692 + * offset 5760 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5696 + * offset 5764 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5728 + * offset 5796 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5736 + * offset 5804 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 5800 + * offset 5868 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 5808 + * offset 5876 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 5816 + * offset 5884 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 5848 + * offset 5916 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 5880 + * offset 5948 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 5888 + * offset 5956 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 5920 + * offset 5988 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 5924 + * offset 5992 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 5928 + * offset 5996 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 5960 + * offset 6028 */ lua_script_t luaScript; /** * units: C - * offset 13960 + * offset 14028 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14024 + * offset 14092 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14088 + * offset 14156 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14152 + * offset 14220 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14216 + * offset 14284 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14248 + * offset 14316 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14280 + * offset 14348 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14312 + * offset 14380 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14344 + * offset 14412 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14408 + * offset 14476 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14472 + * offset 14540 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14600 + * offset 14668 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14728 + * offset 14796 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 14792 + * offset 14860 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 14800 + * offset 14868 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 14808 + * offset 14876 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15320 + * offset 15388 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15352 + * offset 15420 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15384 + * offset 15452 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15444 + * offset 15512 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 15956 + * offset 16024 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15988 + * offset 16056 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16020 + * offset 16088 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16084 + * offset 16152 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16100 + * offset 16168 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16116 + * offset 16184 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16180 + * offset 16248 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16196 + * offset 16264 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16212 + * offset 16280 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16468 + * offset 16536 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16500 + * offset 16568 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 16516 + * offset 16584 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17028 + * offset 17096 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17060 + * offset 17128 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17092 + * offset 17160 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17348 + * offset 17416 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17380 + * offset 17448 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17412 + * offset 17480 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 17668 + * offset 17736 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 17700 + * offset 17768 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 17732 + * offset 17800 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 17988 + * offset 18056 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18004 + * offset 18072 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18020 + * offset 18088 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18084 + * offset 18152 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18100 + * offset 18168 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18116 + * offset 18184 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18180 + * offset 18248 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18196 + * offset 18264 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18212 + * offset 18280 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18292 + * offset 18360 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18308 + * offset 18376 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18328 + * offset 18396 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18336 + * offset 18404 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18344 + * offset 18412 */ cyl_trim_s ignTrims[12]; /** - * offset 18536 + * offset 18604 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18544 + * offset 18612 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 18552 + * offset 18620 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 18744 + * offset 18812 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 18760 + * offset 18828 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 18768 + * offset 18836 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 18776 + * offset 18844 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 18784 + * offset 18852 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 18792 + * offset 18860 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 18800 + * offset 18868 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 18808 + * offset 18876 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 18816 + * offset 18884 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 18824 + * offset 18892 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 18832 + * offset 18900 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 18840 + * offset 18908 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 18848 + * offset 18916 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 18856 + * offset 18924 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 18864 + * offset 18932 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 18872 + * offset 18940 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 18880 + * offset 18948 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 18888 + * offset 18956 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 18896 + * offset 18964 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 18904 + * offset 18972 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 18940 + * offset 19008 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 18946 + * offset 19014 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 18952 + * offset 19020 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 18988 + * offset 19056 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 18994 + * offset 19062 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19000 + * offset 19068 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19032 + * offset 19100 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19040 + * offset 19108 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19048 + * offset 19116 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19080 + * offset 19148 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19088 + * offset 19156 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19096 + * offset 19164 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19128 + * offset 19196 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19136 + * offset 19204 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19144 + * offset 19212 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 19896 + * offset 19964 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 20648 + * offset 20716 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 20672 + * offset 20740 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 20696 + * offset 20764 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21072 + * offset 21140 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21448 + * offset 21516 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21454 + * offset 21522 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21460 + * offset 21528 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21466 + * offset 21534 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21472 + * offset 21540 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21478 + * offset 21546 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21484 + * offset 21552 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21490 + * offset 21558 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21496 + * offset 21564 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 21502 + * offset 21570 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 21508 + * offset 21576 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 21514 + * offset 21582 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 21530 + * offset 21598 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 21538 + * offset 21606 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 21546 + * offset 21614 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 21582 + * offset 21650 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 21594 + * offset 21662 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 21606 + * offset 21674 */ - uint8_t alignmentFill_at_21606[2]; + uint8_t alignmentFill_at_21674[2]; }; -static_assert(sizeof(persistent_config_s) == 21608); +static_assert(sizeof(persistent_config_s) == 21676); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:25 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:45 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h b/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h index 452b43d981..407ab27320 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:30 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:50 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:30 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:50 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h b/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h index af4916bb6d..d5a62b6542 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:10 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:30 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:10 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:30 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h b/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h index b96957dbff..346cdb3252 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:13 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:33 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:13 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:33 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h b/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h index bf79b2b6ec..c87589deba 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:55 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:15 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:55 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:15 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h index 6e6aafadef..ff261284d1 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:22 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:43 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:22 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:43 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h index f345618cf3..7d554768b6 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:33 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:53 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:33 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:53 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h index bb41fd491c..2bcd87c745 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:12 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:32 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 17592 + * offset 17660 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 17640 + * offset 17708 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17688 + * offset 17756 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 18200 + * offset 18268 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 18232 + * offset 18300 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 18264 + * offset 18332 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 18520 + * offset 18588 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 18552 + * offset 18620 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 18584 + * offset 18652 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18840 + * offset 18908 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18872 + * offset 18940 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18904 + * offset 18972 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 19160 + * offset 19228 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 19176 + * offset 19244 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 19192 + * offset 19260 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 19256 + * offset 19324 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 19272 + * offset 19340 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 19288 + * offset 19356 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 19352 + * offset 19420 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 19368 + * offset 19436 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 19384 + * offset 19452 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 19464 + * offset 19532 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 19480 + * offset 19548 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 19500 + * offset 19568 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19508 + * offset 19576 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 19516 + * offset 19584 */ cyl_trim_s ignTrims[12]; /** - * offset 19708 + * offset 19776 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19716 + * offset 19784 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19724 + * offset 19792 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19916 + * offset 19984 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19932 + * offset 20000 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19940 + * offset 20008 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19948 + * offset 20016 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19956 + * offset 20024 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19964 + * offset 20032 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19972 + * offset 20040 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19980 + * offset 20048 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19988 + * offset 20056 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19996 + * offset 20064 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 20004 + * offset 20072 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 20012 + * offset 20080 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 20020 + * offset 20088 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 20028 + * offset 20096 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 20036 + * offset 20104 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 20044 + * offset 20112 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 20052 + * offset 20120 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 20060 + * offset 20128 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 20068 + * offset 20136 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 20076 + * offset 20144 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 20112 + * offset 20180 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 20118 + * offset 20186 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 20124 + * offset 20192 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 20160 + * offset 20228 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 20166 + * offset 20234 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 20172 + * offset 20240 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 20204 + * offset 20272 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 20212 + * offset 20280 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 20220 + * offset 20288 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 20252 + * offset 20320 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 20260 + * offset 20328 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 20268 + * offset 20336 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 20300 + * offset 20368 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 20308 + * offset 20376 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 20316 + * offset 20384 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 21068 + * offset 21136 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21820 + * offset 21888 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21844 + * offset 21912 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21868 + * offset 21936 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 22244 + * offset 22312 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 22620 + * offset 22688 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 22626 + * offset 22694 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 22632 + * offset 22700 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 22638 + * offset 22706 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 22644 + * offset 22712 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 22650 + * offset 22718 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 22656 + * offset 22724 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 22662 + * offset 22730 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 22668 + * offset 22736 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22674 + * offset 22742 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22680 + * offset 22748 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22686 + * offset 22754 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22702 + * offset 22770 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22710 + * offset 22778 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22718 + * offset 22786 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22754 + * offset 22822 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22766 + * offset 22834 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22778 + * offset 22846 */ - uint8_t alignmentFill_at_22778[2]; + uint8_t alignmentFill_at_22846[2]; }; -static_assert(sizeof(persistent_config_s) == 22780); +static_assert(sizeof(persistent_config_s) == 22848); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:12 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:32 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h index dfb73d5d98..e555cd7864 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:30 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:50 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:30 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:50 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h index 1efa5fa7b8..242e07b38f 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:09 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:30 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:09 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:30 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h index fcb87722d8..68e7231483 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:07 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:27 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:07 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:27 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h index 5d0d85f11b..dd0798ff40 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:04 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:24 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:04 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:24 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h index 22b9ebe73f..15cfca25d6 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:15 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:35 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:15 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:35 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h index 5ea2a23f39..85c9bd79f1 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:25 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:45 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:25 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:45 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h index 542031d159..1c00e10e35 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:28 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:48 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:28 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:48 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h index 9a5428c968..ac7d3c80fa 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:17 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:37 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:17 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:37 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h index bfea04ce8d..cdc4f0920e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:36 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:55 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:36 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:55 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h index 8e658f8db8..deb15a409d 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:38 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:58 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:38 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:58 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h b/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h index b4cac5015b..60bb604ce2 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:48 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:08 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:48 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:08 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h index 77654df292..49286d33fb 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:46 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:06 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:46 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:06 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h index b7fac49a08..cba06aecd0 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:43 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:03 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:43 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:03 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_h743.h b/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_h743.h index 3011594685..88974da9d0 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_h743.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_h743.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:23 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:42 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:23 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:42 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_405.h b/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_405.h index afa324c643..7bba29b986 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_405.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_405.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:00 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:20 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:00 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:20 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_469.h b/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_469.h index df0b752363..8de6c9e9e7 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_469.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_prometheus_469.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:58 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:18 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:58 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:18 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h index 96be231df1..df266fc5d8 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:05 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:25 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 18188 + * offset 18256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 18252 + * offset 18320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 18316 + * offset 18384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 18380 + * offset 18448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 18444 + * offset 18512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 18476 + * offset 18544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 18508 + * offset 18576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 18540 + * offset 18608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 18572 + * offset 18640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 18636 + * offset 18704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 18700 + * offset 18768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 18828 + * offset 18896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 18956 + * offset 19024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 19020 + * offset 19088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 19028 + * offset 19096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 19036 + * offset 19104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 19548 + * offset 19616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 19580 + * offset 19648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 19612 + * offset 19680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 19672 + * offset 19740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 20184 + * offset 20252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 20216 + * offset 20284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 20248 + * offset 20316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 20312 + * offset 20380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 20328 + * offset 20396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 20344 + * offset 20412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 20408 + * offset 20476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 20424 + * offset 20492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 20440 + * offset 20508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 20952 + * offset 21020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 20984 + * offset 21052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 21016 + * offset 21084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 21528 + * offset 21596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 21560 + * offset 21628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 21592 + * offset 21660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 21848 + * offset 21916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 21880 + * offset 21948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 21912 + * offset 21980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 22168 + * offset 22236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 22200 + * offset 22268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 22232 + * offset 22300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22488 + * offset 22556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22504 + * offset 22572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22520 + * offset 22588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22584 + * offset 22652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22600 + * offset 22668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22616 + * offset 22684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22680 + * offset 22748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22696 + * offset 22764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22712 + * offset 22780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 22792 + * offset 22860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22808 + * offset 22876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 22828 + * offset 22896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 22836 + * offset 22904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 22844 + * offset 22912 */ cyl_trim_s ignTrims[12]; /** - * offset 23036 + * offset 23104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 23044 + * offset 23112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 23052 + * offset 23120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 23244 + * offset 23312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 23260 + * offset 23328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 23268 + * offset 23336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 23276 + * offset 23344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 23284 + * offset 23352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 23292 + * offset 23360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 23300 + * offset 23368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 23308 + * offset 23376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 23316 + * offset 23384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 23324 + * offset 23392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 23332 + * offset 23400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 23340 + * offset 23408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 23348 + * offset 23416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 23356 + * offset 23424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 23364 + * offset 23432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 23372 + * offset 23440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 23380 + * offset 23448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 23388 + * offset 23456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 23396 + * offset 23464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 23404 + * offset 23472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 23440 + * offset 23508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 23446 + * offset 23514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 23452 + * offset 23520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 23488 + * offset 23556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 23494 + * offset 23562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 23500 + * offset 23568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 23532 + * offset 23600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 23540 + * offset 23608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 23548 + * offset 23616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 23580 + * offset 23648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 23588 + * offset 23656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 23596 + * offset 23664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 23628 + * offset 23696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 23636 + * offset 23704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 23644 + * offset 23712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 24396 + * offset 24464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 25148 + * offset 25216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 25172 + * offset 25240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 25196 + * offset 25264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 25572 + * offset 25640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 25948 + * offset 26016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 25954 + * offset 26022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 25960 + * offset 26028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 25966 + * offset 26034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 25972 + * offset 26040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 25978 + * offset 26046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 25984 + * offset 26052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 25990 + * offset 26058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 25996 + * offset 26064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 26002 + * offset 26070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 26008 + * offset 26076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 26014 + * offset 26082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 26030 + * offset 26098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 26038 + * offset 26106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 26046 + * offset 26114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 26082 + * offset 26150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 26094 + * offset 26162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 26106 + * offset 26174 */ - uint8_t alignmentFill_at_26106[2]; + uint8_t alignmentFill_at_26174[2]; }; -static_assert(sizeof(persistent_config_s) == 26108); +static_assert(sizeof(persistent_config_s) == 26176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:05 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:25 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h index 16abf0e37b..56d690f19b 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:03 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:23 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 18188 + * offset 18256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 18252 + * offset 18320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 18316 + * offset 18384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 18380 + * offset 18448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 18444 + * offset 18512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 18476 + * offset 18544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 18508 + * offset 18576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 18540 + * offset 18608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 18572 + * offset 18640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 18636 + * offset 18704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 18700 + * offset 18768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 18828 + * offset 18896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 18956 + * offset 19024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 19020 + * offset 19088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 19028 + * offset 19096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 19036 + * offset 19104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 19548 + * offset 19616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 19580 + * offset 19648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 19612 + * offset 19680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 19672 + * offset 19740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 20184 + * offset 20252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 20216 + * offset 20284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 20248 + * offset 20316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 20312 + * offset 20380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 20328 + * offset 20396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 20344 + * offset 20412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 20408 + * offset 20476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 20424 + * offset 20492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 20440 + * offset 20508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 20952 + * offset 21020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 20984 + * offset 21052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 21016 + * offset 21084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 21528 + * offset 21596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 21560 + * offset 21628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 21592 + * offset 21660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 21848 + * offset 21916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 21880 + * offset 21948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 21912 + * offset 21980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 22168 + * offset 22236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 22200 + * offset 22268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 22232 + * offset 22300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22488 + * offset 22556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22504 + * offset 22572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22520 + * offset 22588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22584 + * offset 22652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22600 + * offset 22668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22616 + * offset 22684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22680 + * offset 22748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22696 + * offset 22764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22712 + * offset 22780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 22792 + * offset 22860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22808 + * offset 22876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 22828 + * offset 22896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 22836 + * offset 22904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 22844 + * offset 22912 */ cyl_trim_s ignTrims[12]; /** - * offset 23036 + * offset 23104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 23044 + * offset 23112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 23052 + * offset 23120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 23244 + * offset 23312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 23260 + * offset 23328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 23268 + * offset 23336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 23276 + * offset 23344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 23284 + * offset 23352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 23292 + * offset 23360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 23300 + * offset 23368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 23308 + * offset 23376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 23316 + * offset 23384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 23324 + * offset 23392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 23332 + * offset 23400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 23340 + * offset 23408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 23348 + * offset 23416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 23356 + * offset 23424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 23364 + * offset 23432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 23372 + * offset 23440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 23380 + * offset 23448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 23388 + * offset 23456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 23396 + * offset 23464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 23404 + * offset 23472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 23440 + * offset 23508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 23446 + * offset 23514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 23452 + * offset 23520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 23488 + * offset 23556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 23494 + * offset 23562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 23500 + * offset 23568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 23532 + * offset 23600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 23540 + * offset 23608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 23548 + * offset 23616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 23580 + * offset 23648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 23588 + * offset 23656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 23596 + * offset 23664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 23628 + * offset 23696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 23636 + * offset 23704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 23644 + * offset 23712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 24396 + * offset 24464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 25148 + * offset 25216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 25172 + * offset 25240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 25196 + * offset 25264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 25572 + * offset 25640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 25948 + * offset 26016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 25954 + * offset 26022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 25960 + * offset 26028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 25966 + * offset 26034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 25972 + * offset 26040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 25978 + * offset 26046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 25984 + * offset 26052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 25990 + * offset 26058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 25996 + * offset 26064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 26002 + * offset 26070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 26008 + * offset 26076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 26014 + * offset 26082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 26030 + * offset 26098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 26038 + * offset 26106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 26046 + * offset 26114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 26082 + * offset 26150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 26094 + * offset 26162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 26106 + * offset 26174 */ - uint8_t alignmentFill_at_26106[2]; + uint8_t alignmentFill_at_26174[2]; }; -static_assert(sizeof(persistent_config_s) == 26108); +static_assert(sizeof(persistent_config_s) == 26176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:03 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:23 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h index c972681ebb..aee455ed25 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:08 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:28 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 18188 + * offset 18256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 18252 + * offset 18320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 18316 + * offset 18384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 18380 + * offset 18448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 18444 + * offset 18512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 18476 + * offset 18544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 18508 + * offset 18576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 18540 + * offset 18608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 18572 + * offset 18640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 18636 + * offset 18704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 18700 + * offset 18768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 18828 + * offset 18896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 18956 + * offset 19024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 19020 + * offset 19088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 19028 + * offset 19096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 19036 + * offset 19104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 19548 + * offset 19616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 19580 + * offset 19648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 19612 + * offset 19680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 19672 + * offset 19740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 20184 + * offset 20252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 20216 + * offset 20284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 20248 + * offset 20316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 20312 + * offset 20380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 20328 + * offset 20396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 20344 + * offset 20412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 20408 + * offset 20476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 20424 + * offset 20492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 20440 + * offset 20508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 20952 + * offset 21020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 20984 + * offset 21052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 21016 + * offset 21084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 21528 + * offset 21596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 21560 + * offset 21628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 21592 + * offset 21660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 21848 + * offset 21916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 21880 + * offset 21948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 21912 + * offset 21980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 22168 + * offset 22236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 22200 + * offset 22268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 22232 + * offset 22300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22488 + * offset 22556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22504 + * offset 22572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22520 + * offset 22588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22584 + * offset 22652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22600 + * offset 22668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22616 + * offset 22684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 22680 + * offset 22748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22696 + * offset 22764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 22712 + * offset 22780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 22792 + * offset 22860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 22808 + * offset 22876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 22828 + * offset 22896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 22836 + * offset 22904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 22844 + * offset 22912 */ cyl_trim_s ignTrims[12]; /** - * offset 23036 + * offset 23104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 23044 + * offset 23112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 23052 + * offset 23120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 23244 + * offset 23312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 23260 + * offset 23328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 23268 + * offset 23336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 23276 + * offset 23344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 23284 + * offset 23352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 23292 + * offset 23360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 23300 + * offset 23368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 23308 + * offset 23376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 23316 + * offset 23384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 23324 + * offset 23392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 23332 + * offset 23400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 23340 + * offset 23408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 23348 + * offset 23416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 23356 + * offset 23424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 23364 + * offset 23432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 23372 + * offset 23440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 23380 + * offset 23448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 23388 + * offset 23456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 23396 + * offset 23464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 23404 + * offset 23472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 23440 + * offset 23508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 23446 + * offset 23514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 23452 + * offset 23520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 23488 + * offset 23556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 23494 + * offset 23562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 23500 + * offset 23568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 23532 + * offset 23600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 23540 + * offset 23608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 23548 + * offset 23616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 23580 + * offset 23648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 23588 + * offset 23656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 23596 + * offset 23664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 23628 + * offset 23696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 23636 + * offset 23704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 23644 + * offset 23712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 24396 + * offset 24464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 25148 + * offset 25216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 25172 + * offset 25240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 25196 + * offset 25264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 25572 + * offset 25640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 25948 + * offset 26016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 25954 + * offset 26022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 25960 + * offset 26028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 25966 + * offset 26034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 25972 + * offset 26040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 25978 + * offset 26046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 25984 + * offset 26052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 25990 + * offset 26058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 25996 + * offset 26064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 26002 + * offset 26070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 26008 + * offset 26076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 26014 + * offset 26082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 26030 + * offset 26098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 26038 + * offset 26106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 26046 + * offset 26114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 26082 + * offset 26150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 26094 + * offset 26162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 26106 + * offset 26174 */ - uint8_t alignmentFill_at_26106[2]; + uint8_t alignmentFill_at_26174[2]; }; -static_assert(sizeof(persistent_config_s) == 26108); +static_assert(sizeof(persistent_config_s) == 26176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:08 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:28 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_s105.h b/firmware/controllers/generated/engine_configuration_generated_structures_s105.h index 5ecb777367..c59752b469 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_s105.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_s105.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:51 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:11 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:51 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:11 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h b/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h index ff2ad77f1e..7863af0fd8 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:41 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:00 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:41 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:00 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f413_nucleo.h b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f413_nucleo.h index 339df4a11a..f7c3c8b03a 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f413_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f413_nucleo.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:15 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:35 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:15 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:35 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h index 298fdb2d8f..525cb9817f 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:18 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:38 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:18 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:38 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h index dabd72dc25..4f759e7828 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:20 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:40 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:20 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:40 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h b/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h index ebae6c1ddd..a0fe748e05 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:53 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:13 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:53 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:13 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h b/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h index e3d9a46b27..3a25376e24 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:27 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:47 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:36:27 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:47 UTC 2024 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h index ff2111b821..ecbaf78c5b 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:20 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:40 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -628,129 +628,133 @@ struct engine_configuration_s { * offset 52 */ injector_s injector; + /** + * offset 120 + */ + injector_s injectorSecondary; /** * Does the vehicle have a turbo or supercharger? - offset 120 bit 0 */ + offset 188 bit 0 */ bool isForcedInduction : 1 {}; /** * On some Ford and Toyota vehicles one of the throttle sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 1 */ + offset 188 bit 1 */ bool useFordRedundantTps : 1 {}; /** - offset 120 bit 2 */ + offset 188 bit 2 */ bool enableKline : 1 {}; /** - offset 120 bit 3 */ + offset 188 bit 3 */ bool overrideTriggerGaps : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 4 */ + offset 188 bit 4 */ bool enableFan1WithAc : 1 {}; /** * Turn on this fan when AC is on. - offset 120 bit 5 */ + offset 188 bit 5 */ bool enableFan2WithAc : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 6 */ + offset 188 bit 6 */ bool disableFan1WhenStopped : 1 {}; /** * Inhibit operation of this fan while the engine is not running. - offset 120 bit 7 */ + offset 188 bit 7 */ bool disableFan2WhenStopped : 1 {}; /** * Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). - offset 120 bit 8 */ + offset 188 bit 8 */ bool enableTrailingSparks : 1 {}; /** * TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. - offset 120 bit 9 */ + offset 188 bit 9 */ bool etb_use_two_wires : 1 {}; /** * 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. - offset 120 bit 10 */ + offset 188 bit 10 */ bool isDoubleSolenoidIdle : 1 {}; /** - offset 120 bit 11 */ + offset 188 bit 11 */ bool useEeprom : 1 {}; /** * Switch between Industrial and Cic PID implementation - offset 120 bit 12 */ + offset 188 bit 12 */ bool useCicPidForIdle : 1 {}; /** - offset 120 bit 13 */ + offset 188 bit 13 */ bool useTLE8888_cranking_hack : 1 {}; /** - offset 120 bit 14 */ + offset 188 bit 14 */ bool kickStartCranking : 1 {}; /** * This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). - offset 120 bit 15 */ + offset 188 bit 15 */ bool useSeparateIdleTablesForCrankingTaper : 1 {}; /** - offset 120 bit 16 */ + offset 188 bit 16 */ bool launchControlEnabled : 1 {}; /** * "Detect double trigger edges" - offset 120 bit 17 */ + offset 188 bit 17 */ bool doNotFilterTriggerEdgeNoise : 1 {}; /** - offset 120 bit 18 */ + offset 188 bit 18 */ bool antiLagEnabled : 1 {}; /** * For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). - offset 120 bit 19 */ + offset 188 bit 19 */ bool useRunningMathForCranking : 1 {}; /** * Shall we display real life signal or just the part consumed by trigger decoder. * Applies to both trigger and cam/vvt input. * * enable logic_level_trigger - offset 120 bit 20 */ + offset 188 bit 20 */ bool displayLogicLevelsInEngineSniffer : 1 {}; /** - offset 120 bit 21 */ + offset 188 bit 21 */ bool useTLE8888_stepper : 1 {}; /** - offset 120 bit 22 */ + offset 188 bit 22 */ bool usescriptTableForCanSniffingFiltering : 1 {}; /** * Print incoming and outgoing first bus CAN messages in rusEFI console - offset 120 bit 23 */ + offset 188 bit 23 */ bool verboseCan : 1 {}; /** * Experimental setting that will cause a misfire * DO NOT ENABLE. - offset 120 bit 24 */ + offset 188 bit 24 */ bool artificialTestMisfire : 1 {}; /** * On some Ford and Toyota vehicles one of the pedal sensors is not linear on the full range, i.e. in the specific range of the positions we effectively have only one sensor. - offset 120 bit 25 */ + offset 188 bit 25 */ bool useFordRedundantPps : 1 {}; /** - offset 120 bit 26 */ + offset 188 bit 26 */ bool cltSensorPulldown : 1 {}; /** - offset 120 bit 27 */ + offset 188 bit 27 */ bool iatSensorPulldown : 1 {}; /** - offset 120 bit 28 */ + offset 188 bit 28 */ bool allowIdenticalPps : 1 {}; /** - offset 120 bit 29 */ + offset 188 bit 29 */ bool overrideVvtTriggerGaps : 1 {}; /** - offset 120 bit 30 */ + offset 188 bit 30 */ bool useSpiImu : 1 {}; /** - offset 120 bit 31 */ + offset 188 bit 31 */ bool enableStagedInjection : 1 {}; /** * Closed throttle, 1 volt = 200 units. * See also tps1_1AdcChannel * set tps_min X * units: ADC - * offset 124 + * offset 192 */ int16_t tpsMin; /** @@ -758,62 +762,62 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps_max X * units: ADC - * offset 126 + * offset 194 */ int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 128 + * offset 196 */ int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. * units: % - * offset 130 + * offset 198 */ int16_t tpsErrorDetectionTooHigh; /** - * offset 132 + * offset 200 */ cranking_parameters_s cranking; /** * Dwell duration while cranking * units: ms - * offset 140 + * offset 208 */ float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. * units: rpm - * offset 144 + * offset 212 */ uint16_t etbRevLimitStart; /** * 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. * units: rpm - * offset 146 + * offset 214 */ uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled - * offset 148 + * offset 216 */ MAP_sensor_config_s map; /** * todo: merge with channel settings, use full-scale Thermistor here! - * offset 288 + * offset 356 */ ThermistorConf clt; /** - * offset 320 + * offset 388 */ ThermistorConf iat; /** * units: deg - * offset 352 + * offset 420 */ int launchTimingRetard; /** @@ -821,7 +825,7 @@ struct engine_configuration_s { * read hip9011 datasheet for details * todo split into two bit fields * units: integer - * offset 356 + * offset 424 */ int hip9011PrescalerAndSDO; /** @@ -829,39 +833,39 @@ struct engine_configuration_s { * Use this to override - kHz knock band override * Requires power cycling to effect * units: kHz - * offset 360 + * offset 428 */ float knockBandCustom; /** * Engine displacement in litres * units: L - * offset 364 + * offset 432 */ scaled_channel displacement; /** * units: RPM - * offset 366 + * offset 434 */ uint16_t triggerSimulatorRpm; /** * Number of cylinder the engine has. - * offset 368 + * offset 436 */ uint32_t cylindersCount; /** - * offset 372 + * offset 440 */ firing_order_e firingOrder; /** * need 4 byte alignment * units: units - * offset 373 + * offset 441 */ - uint8_t alignmentFill_at_373[3]; + uint8_t alignmentFill_at_441[3]; /** * Cylinder diameter in mm. * units: mm - * offset 376 + * offset 444 */ float cylinderBore; /** @@ -869,37 +873,37 @@ struct engine_configuration_s { * Alpha-N means drive by TPS commonly only used for NA engines * Speed Density requires MAP sensor and is the default choice for may installs * MAF air charge is a cylinder filling based method that uses a mass air flow sensor. - * offset 380 + * offset 448 */ engine_load_mode_e fuelAlgorithm; /** * units: % - * offset 381 + * offset 449 */ uint8_t ALSMaxTPS; /** * This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous". - * offset 382 + * offset 450 */ injection_mode_e crankingInjectionMode; /** * 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. - * offset 383 + * offset 451 */ injection_mode_e injectionMode; /** * Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 384 + * offset 452 */ uint16_t boostControlMinRpm; /** * Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 386 + * offset 454 */ uint8_t boostControlMinTps; /** * Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases. - * offset 387 + * offset 455 */ uint8_t boostControlMinMap; /** @@ -907,7 +911,7 @@ struct engine_configuration_s { * There is tapering towards running timing advance * set cranking_timing_angle X * units: deg - * offset 388 + * offset 456 */ angle_t crankingTimingAngle; /** @@ -916,49 +920,49 @@ struct engine_configuration_s { * Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder * Two distributors = A pair of distributors, found on some BMW, Toyota and other engines * set ignition_mode X - * offset 392 + * offset 460 */ ignition_mode_e ignitionMode; /** * How many consecutive gap rations have to match expected ranges for sync to happen * units: count - * offset 393 + * offset 461 */ int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). * units: kph - * offset 394 + * offset 462 */ uint8_t maxIdleVss; /** * need 4 byte alignment * units: units - * offset 395 + * offset 463 */ - uint8_t alignmentFill_at_395[1]; + uint8_t alignmentFill_at_463[1]; /** * 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. * units: kPa - * offset 396 + * offset 464 */ uint16_t minOilPressureAfterStart; /** * 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). - * offset 398 + * offset 466 */ timing_mode_e timingMode; /** * need 4 byte alignment * units: units - * offset 399 + * offset 467 */ - uint8_t alignmentFill_at_399[1]; + uint8_t alignmentFill_at_467[1]; /** * This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing * This mode is useful when adjusting distributor location. * units: RPM - * offset 400 + * offset 468 */ angle_t fixedModeTiming; /** @@ -967,164 +971,164 @@ struct engine_configuration_s { * .Knowing this angle allows us to control timing and other angles in reference to TDC. * set global_trigger_offset_angle X * units: deg btdc - * offset 404 + * offset 472 */ angle_t globalTriggerAngleOffset; /** * 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. * units: coef - * offset 408 + * offset 476 */ float analogInputDividerCoefficient; /** * 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. * units: coef - * offset 412 + * offset 480 */ float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 416 + * offset 484 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 420 + * offset 488 */ float fanOffTemperature; /** - * offset 424 + * offset 492 */ output_pin_e acrPin; /** * need 4 byte alignment * units: units - * offset 426 + * offset 494 */ - uint8_t alignmentFill_at_426[2]; + uint8_t alignmentFill_at_494[2]; /** * 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. * units: revs/km - * offset 428 + * offset 496 */ float driveWheelRevPerKm; /** * set can_mode X - * offset 432 + * offset 500 */ can_nbc_e canNbcType; /** * need 4 byte alignment * units: units - * offset 433 + * offset 501 */ - uint8_t alignmentFill_at_433[3]; + uint8_t alignmentFill_at_501[3]; /** * CANbus thread period in ms * units: ms - * offset 436 + * offset 504 */ int canSleepPeriodMs; /** - * offset 440 + * offset 508 */ uint8_t camDecoder2jzPrecision; /** * need 4 byte alignment * units: units - * offset 441 + * offset 509 */ - uint8_t alignmentFill_at_441[3]; + uint8_t alignmentFill_at_509[3]; /** * units: index - * offset 444 + * offset 512 */ int byFirmwareVersion; /** * First throttle body, first sensor. See also pedalPositionAdcChannel - * offset 448 + * offset 516 */ adc_channel_e tps1_1AdcChannel; /** * 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. - * offset 449 + * offset 517 */ adc_channel_e vbattAdcChannel; /** * 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. - * offset 450 + * offset 518 */ adc_channel_e fuelLevelSensor; /** * Second throttle body position sensor, single channel so far * set_analog_input_pin tps2 X - * offset 451 + * offset 519 */ adc_channel_e tps2_1AdcChannel; /** * 0.1 is a good default value * units: x - * offset 452 + * offset 520 */ float idle_derivativeFilterLoss; /** * just a temporary solution * units: angle - * offset 456 + * offset 524 */ int trailingSparkAngle; /** - * offset 460 + * offset 528 */ trigger_config_s trigger; /** * Extra air taper amount * units: % - * offset 472 + * offset 540 */ float airByRpmTaper; /** - * offset 476 + * offset 544 */ spi_device_e hip9011SpiDevice; /** * 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. * units: % - * offset 477 + * offset 545 */ uint8_t boostControlSafeDutyCycle; /** - * offset 478 + * offset 546 */ adc_channel_e mafAdcChannel; /** - * offset 479 + * offset 547 */ uint8_t acrRevolutions; /** * units: coef - * offset 480 + * offset 548 */ float globalFuelCorrection; /** * units: volts - * offset 484 + * offset 552 */ float adcVcc; /** * units: Deg - * offset 488 + * offset 556 */ float mapCamDetectionAnglePosition; /** * 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. - * offset 492 + * offset 560 */ brain_input_pin_e camInputs[CAM_INPUTS_COUNT]; /** - * offset 500 + * offset 568 */ afr_sensor_s afr; /** @@ -1133,203 +1137,203 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set_analog_input_pin pps X * See throttlePedalUpVoltage and throttlePedalWOTVoltage - * offset 520 + * offset 588 */ adc_channel_e throttlePedalPositionAdcChannel; /** * TPS/PPS error threshold * units: % - * offset 521 + * offset 589 */ scaled_channel etbSplit; /** - * offset 522 + * offset 590 */ Gpio tle6240_cs; /** - * offset 524 + * offset 592 */ pin_output_mode_e tle6240_csPinMode; /** - * offset 525 + * offset 593 */ pin_output_mode_e mc33810_csPinMode; /** * Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata - * offset 526 + * offset 594 */ switch_input_pin_e throttlePedalUpPin; /** * @see hasBaroSensor - * offset 528 + * offset 596 */ air_pressure_sensor_config_s baroSensor; /** - * offset 540 + * offset 608 */ idle_hardware_s idle; /** * Value between 0 and 100 used in Manual mode * units: % - * offset 552 + * offset 620 */ float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. * units: % - * offset 556 + * offset 624 */ scaled_channel knockRetardAggression; /** * After a knock event, reapply timing at this rate. * units: deg/s - * offset 557 + * offset 625 */ scaled_channel knockRetardReapplyRate; /** * Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync. - * offset 558 + * offset 626 */ engineSyncCam_e engineSyncCam; /** * Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response. - * offset 559 + * offset 627 */ uint8_t vssFilterReciprocal; /** * 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. * units: ratio - * offset 560 + * offset 628 */ scaled_channel vssGearRatio; /** * 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. * units: count - * offset 562 + * offset 630 */ uint8_t vssToothCount; /** * Override the Y axis (load) value used for only the Idle VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 563 + * offset 631 */ ve_override_e idleVeOverrideMode; /** - * offset 564 + * offset 632 */ Gpio l9779_cs; /** - * offset 566 + * offset 634 */ output_pin_e injectionPins[MAX_CYLINDER_COUNT]; /** - * offset 590 + * offset 658 */ output_pin_e ignitionPins[MAX_CYLINDER_COUNT]; /** - * offset 614 + * offset 682 */ pin_output_mode_e injectionPinMode; /** - * offset 615 + * offset 683 */ pin_output_mode_e ignitionPinMode; /** - * offset 616 + * offset 684 */ output_pin_e fuelPumpPin; /** - * offset 618 + * offset 686 */ pin_output_mode_e fuelPumpPinMode; /** * How many consecutive VVT gap rations have to match expected ranges for sync to happen * units: count - * offset 619 + * offset 687 */ int8_t gapVvtTrackingLengthOverride; /** * Check engine light, also malfunction indicator light. Always blinks once on boot. - * offset 620 + * offset 688 */ output_pin_e malfunctionIndicatorPin; /** - * offset 622 + * offset 690 */ pin_output_mode_e malfunctionIndicatorPinMode; /** - * offset 623 + * offset 691 */ pin_output_mode_e fanPinMode; /** - * offset 624 + * offset 692 */ output_pin_e fanPin; /** * Some cars have a switch to indicate that clutch pedal is all the way down - * offset 626 + * offset 694 */ switch_input_pin_e clutchDownPin; /** - * offset 628 + * offset 696 */ output_pin_e alternatorControlPin; /** - * offset 630 + * offset 698 */ pin_output_mode_e alternatorControlPinMode; /** - * offset 631 + * offset 699 */ pin_input_mode_e clutchDownPinMode; /** - * offset 632 + * offset 700 */ Gpio digitalPotentiometerChipSelect[DIGIPOT_COUNT]; /** - * offset 640 + * offset 708 */ pin_output_mode_e electronicThrottlePin1Mode; /** - * offset 641 + * offset 709 */ spi_device_e max31855spiDevice; /** - * offset 642 + * offset 710 */ Gpio debugTriggerSync; /** * Digital Potentiometer is used by stock ECU stimulation code - * offset 644 + * offset 712 */ spi_device_e digitalPotentiometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 645 + * offset 713 */ - uint8_t alignmentFill_at_645[1]; + uint8_t alignmentFill_at_713[1]; /** - * offset 646 + * offset 714 */ Gpio mc33972_cs; /** - * offset 648 + * offset 716 */ pin_output_mode_e mc33972_csPinMode; /** * Useful in Research&Development phase - * offset 649 + * offset 717 */ adc_channel_e auxFastSensor1_adcChannel; /** * First throttle body, second sensor. - * offset 650 + * offset 718 */ adc_channel_e tps1_2AdcChannel; /** * Second throttle body, second sensor. - * offset 651 + * offset 719 */ adc_channel_e tps2_2AdcChannel; /** @@ -1337,338 +1341,57 @@ struct engine_configuration_s { * Second channel * See also tps1_1AdcChannel * See throttlePedalSecondaryUpVoltage and throttlePedalSecondaryWOTVoltage - * offset 652 + * offset 720 */ adc_channel_e throttlePedalPositionSecondAdcChannel; /** * units: % - * offset 653 + * offset 721 */ uint8_t fuelLevelValues[FUEL_LEVEL_TABLE_COUNT]; /** * AFR, WBO, EGO - whatever you like to call it - * offset 661 + * offset 729 */ ego_sensor_e afr_type; /** - * offset 662 + * offset 730 */ Gpio mc33810_cs[C_MC33810_COUNT]; /** * 0.1 is a good default value * units: x - * offset 664 + * offset 732 */ float idle_antiwindupFreq; /** - * offset 668 + * offset 736 */ brain_input_pin_e triggerInputPins[TRIGGER_INPUT_PIN_COUNT]; /** * 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. * units: us - * offset 672 + * offset 740 */ uint16_t mc33_t_min_boost; /** - * offset 674 + * offset 742 */ pin_output_mode_e hip9011CsPinMode; /** * need 4 byte alignment * units: units - * offset 675 + * offset 743 */ - uint8_t alignmentFill_at_675[1]; - /** - * offset 676 - */ - output_pin_e tachOutputPin; - /** - * offset 678 - */ - pin_output_mode_e tachOutputPinMode; - /** - * need 4 byte alignment - * units: units - * offset 679 - */ - uint8_t alignmentFill_at_679[1]; - /** - * offset 680 - */ - output_pin_e mainRelayPin; - /** - * offset 682 - */ - Gpio sdCardCsPin; - /** - * set_can_tx_pin X - * offset 684 - */ - Gpio canTxPin; - /** - * set_can_rx_pin X - * offset 686 - */ - Gpio canRxPin; - /** - * offset 688 - */ - pin_input_mode_e throttlePedalUpPinMode; - /** - * Additional idle % while A/C is active - * units: % - * offset 689 - */ - uint8_t acIdleExtraOffset; - /** - * Ratio between the wheels and your transmission output. - * units: ratio - * offset 690 - */ - scaled_channel finalGearRatio; - /** - * offset 692 - */ - brain_input_pin_e tcuInputSpeedSensorPin; - /** - * offset 694 - */ - uint8_t tcuInputSpeedSensorTeeth; - /** - * need 4 byte alignment - * units: units - * offset 695 - */ - uint8_t alignmentFill_at_695[1]; - /** - * Voltage when the wastegate is closed. - * You probably don't have one of these! - * units: mv - * offset 696 - */ - uint16_t wastegatePositionMin; - /** - * Voltage when the wastegate is fully open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 698 - */ - uint16_t wastegatePositionMax; - /** - * Voltage when the idle valve is closed. - * You probably don't have one of these! - * units: mv - * offset 700 - */ - uint16_t idlePositionMin; - /** - * Voltage when the idle valve is open. - * You probably don't have one of these! - * 1 volt = 1000 units - * units: mv - * offset 702 - */ - uint16_t idlePositionMax; - /** - * Secondary TTL channel baud rate - * units: BPs - * offset 704 - */ - uint32_t tunerStudioSerialSpeed; - /** - * Just for reference really, not taken into account by any logic at this point - * units: CR - * offset 708 - */ - float compressionRatio; - /** - * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. - * See also directSelfStimulation which is different. - * offset 712 - */ - Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * units: g/s - * offset 716 - */ - scaled_channel fordInjectorSmallPulseSlope; - /** - * offset 718 - */ - pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; - /** - * offset 720 - */ - adc_channel_e maf2AdcChannel; - /** - * need 4 byte alignment - * units: units - * offset 721 - */ - uint8_t alignmentFill_at_721[1]; - /** - * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. - * offset 722 - */ - output_pin_e o2heaterPin; - /** - * offset 724 - */ - pin_output_mode_e o2heaterPinModeTodO; - /** - * units: RPM - * offset 725 - */ - scaled_channel lambdaProtectionMinRpm; - /** - * units: % - * offset 726 - */ - scaled_channel lambdaProtectionMinLoad; - /** - * need 4 byte alignment - * units: units - * offset 727 - */ - uint8_t alignmentFill_at_727[1]; - /** - offset 728 bit 0 */ - bool is_enabled_spi_1 : 1 {}; - /** - offset 728 bit 1 */ - bool is_enabled_spi_2 : 1 {}; - /** - offset 728 bit 2 */ - bool is_enabled_spi_3 : 1 {}; - /** - * enable sd/disable sd - offset 728 bit 3 */ - bool isSdCardEnabled : 1 {}; - /** - * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. - offset 728 bit 4 */ - bool rusefiVerbose29b : 1 {}; - /** - offset 728 bit 5 */ - bool rethrowHardFault : 1 {}; - /** - offset 728 bit 6 */ - bool isHip9011Enabled : 1 {}; - /** - offset 728 bit 7 */ - bool requireFootOnBrakeToCrank : 1 {}; - /** - offset 728 bit 8 */ - bool verboseQuad : 1 {}; - /** - * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. - offset 728 bit 9 */ - bool useStepperIdle : 1 {}; - /** - offset 728 bit 10 */ - bool enabledStep1Limiter : 1 {}; - /** - offset 728 bit 11 */ - bool useTpicAdvancedMode : 1 {}; - /** - offset 728 bit 12 */ - bool lambdaProtectionEnable : 1 {}; - /** - offset 728 bit 13 */ - bool verboseTLE8888 : 1 {}; - /** - * CAN broadcast using custom rusEFI protocol - * enable can_broadcast/disable can_broadcast - offset 728 bit 14 */ - bool enableVerboseCanTx : 1 {}; - /** - offset 728 bit 15 */ - bool etb1configured : 1 {}; - /** - offset 728 bit 16 */ - bool etb2configured : 1 {}; - /** - * Useful for individual intakes - offset 728 bit 17 */ - bool measureMapOnlyInOneCylinder : 1 {}; - /** - offset 728 bit 18 */ - bool stepperForceParkingEveryRestart : 1 {}; - /** - * 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. - offset 728 bit 19 */ - bool isFasterEngineSpinUpEnabled : 1 {}; - /** - * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. - offset 728 bit 20 */ - bool coastingFuelCutEnabled : 1 {}; - /** - * 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. - offset 728 bit 21 */ - bool useIacTableForCoasting : 1 {}; - /** - offset 728 bit 22 */ - bool useNoiselessTriggerDecoder : 1 {}; - /** - offset 728 bit 23 */ - bool useIdleTimingPidControl : 1 {}; - /** - * 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. - offset 728 bit 24 */ - bool disableEtbWhenEngineStopped : 1 {}; - /** - offset 728 bit 25 */ - bool is_enabled_spi_4 : 1 {}; - /** - * Disable the electronic throttle motor and DC idle motor for testing. - * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. - offset 728 bit 26 */ - bool pauseEtbControl : 1 {}; - /** - offset 728 bit 27 */ - bool alignEngineSnifferAtTDC : 1 {}; - /** - offset 728 bit 28 */ - bool verboseKLine : 1 {}; - /** - offset 728 bit 29 */ - bool idleIncrementalPidCic : 1 {}; - /** - * AEM X-Series or rusEFI Wideband - offset 728 bit 30 */ - bool enableAemXSeries : 1 {}; - /** - offset 728 bit 31 */ - bool unusedBit_226_31 : 1 {}; - /** - * offset 732 - */ - brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; - /** - * offset 740 - */ - pin_output_mode_e mainRelayPinMode; - /** - * need 4 byte alignment - * units: units - * offset 741 - */ - uint8_t alignmentFill_at_741[1]; - /** - * offset 742 - */ - Gpio hip9011CsPin; + uint8_t alignmentFill_at_743[1]; /** * offset 744 */ - Gpio hip9011IntHoldPin; + output_pin_e tachOutputPin; /** * offset 746 */ - pin_output_mode_e hip9011IntHoldPinMode; + pin_output_mode_e tachOutputPinMode; /** * need 4 byte alignment * units: units @@ -1678,998 +1401,1279 @@ struct engine_configuration_s { /** * offset 748 */ + output_pin_e mainRelayPin; + /** + * offset 750 + */ + Gpio sdCardCsPin; + /** + * set_can_tx_pin X + * offset 752 + */ + Gpio canTxPin; + /** + * set_can_rx_pin X + * offset 754 + */ + Gpio canRxPin; + /** + * offset 756 + */ + pin_input_mode_e throttlePedalUpPinMode; + /** + * Additional idle % while A/C is active + * units: % + * offset 757 + */ + uint8_t acIdleExtraOffset; + /** + * Ratio between the wheels and your transmission output. + * units: ratio + * offset 758 + */ + scaled_channel finalGearRatio; + /** + * offset 760 + */ + brain_input_pin_e tcuInputSpeedSensorPin; + /** + * offset 762 + */ + uint8_t tcuInputSpeedSensorTeeth; + /** + * need 4 byte alignment + * units: units + * offset 763 + */ + uint8_t alignmentFill_at_763[1]; + /** + * Voltage when the wastegate is closed. + * You probably don't have one of these! + * units: mv + * offset 764 + */ + uint16_t wastegatePositionMin; + /** + * Voltage when the wastegate is fully open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 766 + */ + uint16_t wastegatePositionMax; + /** + * Voltage when the idle valve is closed. + * You probably don't have one of these! + * units: mv + * offset 768 + */ + uint16_t idlePositionMin; + /** + * Voltage when the idle valve is open. + * You probably don't have one of these! + * 1 volt = 1000 units + * units: mv + * offset 770 + */ + uint16_t idlePositionMax; + /** + * Secondary TTL channel baud rate + * units: BPs + * offset 772 + */ + uint32_t tunerStudioSerialSpeed; + /** + * Just for reference really, not taken into account by any logic at this point + * units: CR + * offset 776 + */ + float compressionRatio; + /** + * Each rusEFI piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEFI board. + * See also directSelfStimulation which is different. + * offset 780 + */ + Gpio triggerSimulatorPins[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * units: g/s + * offset 784 + */ + scaled_channel fordInjectorSmallPulseSlope; + /** + * offset 786 + */ + pin_output_mode_e triggerSimulatorPinModes[TRIGGER_SIMULATOR_PIN_COUNT]; + /** + * offset 788 + */ + adc_channel_e maf2AdcChannel; + /** + * need 4 byte alignment + * units: units + * offset 789 + */ + uint8_t alignmentFill_at_789[1]; + /** + * On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking. + * offset 790 + */ + output_pin_e o2heaterPin; + /** + * offset 792 + */ + pin_output_mode_e o2heaterPinModeTodO; + /** + * units: RPM + * offset 793 + */ + scaled_channel lambdaProtectionMinRpm; + /** + * units: % + * offset 794 + */ + scaled_channel lambdaProtectionMinLoad; + /** + * need 4 byte alignment + * units: units + * offset 795 + */ + uint8_t alignmentFill_at_795[1]; + /** + offset 796 bit 0 */ + bool is_enabled_spi_1 : 1 {}; + /** + offset 796 bit 1 */ + bool is_enabled_spi_2 : 1 {}; + /** + offset 796 bit 2 */ + bool is_enabled_spi_3 : 1 {}; + /** + * enable sd/disable sd + offset 796 bit 3 */ + bool isSdCardEnabled : 1 {}; + /** + * Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + offset 796 bit 4 */ + bool rusefiVerbose29b : 1 {}; + /** + offset 796 bit 5 */ + bool rethrowHardFault : 1 {}; + /** + offset 796 bit 6 */ + bool isHip9011Enabled : 1 {}; + /** + offset 796 bit 7 */ + bool requireFootOnBrakeToCrank : 1 {}; + /** + offset 796 bit 8 */ + bool verboseQuad : 1 {}; + /** + * This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. + offset 796 bit 9 */ + bool useStepperIdle : 1 {}; + /** + offset 796 bit 10 */ + bool enabledStep1Limiter : 1 {}; + /** + offset 796 bit 11 */ + bool useTpicAdvancedMode : 1 {}; + /** + offset 796 bit 12 */ + bool lambdaProtectionEnable : 1 {}; + /** + offset 796 bit 13 */ + bool verboseTLE8888 : 1 {}; + /** + * CAN broadcast using custom rusEFI protocol + * enable can_broadcast/disable can_broadcast + offset 796 bit 14 */ + bool enableVerboseCanTx : 1 {}; + /** + offset 796 bit 15 */ + bool etb1configured : 1 {}; + /** + offset 796 bit 16 */ + bool etb2configured : 1 {}; + /** + * Useful for individual intakes + offset 796 bit 17 */ + bool measureMapOnlyInOneCylinder : 1 {}; + /** + offset 796 bit 18 */ + bool stepperForceParkingEveryRestart : 1 {}; + /** + * 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. + offset 796 bit 19 */ + bool isFasterEngineSpinUpEnabled : 1 {}; + /** + * This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing. + offset 796 bit 20 */ + bool coastingFuelCutEnabled : 1 {}; + /** + * 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. + offset 796 bit 21 */ + bool useIacTableForCoasting : 1 {}; + /** + offset 796 bit 22 */ + bool useNoiselessTriggerDecoder : 1 {}; + /** + offset 796 bit 23 */ + bool useIdleTimingPidControl : 1 {}; + /** + * 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. + offset 796 bit 24 */ + bool disableEtbWhenEngineStopped : 1 {}; + /** + offset 796 bit 25 */ + bool is_enabled_spi_4 : 1 {}; + /** + * Disable the electronic throttle motor and DC idle motor for testing. + * This mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle. + offset 796 bit 26 */ + bool pauseEtbControl : 1 {}; + /** + offset 796 bit 27 */ + bool alignEngineSnifferAtTDC : 1 {}; + /** + offset 796 bit 28 */ + bool verboseKLine : 1 {}; + /** + offset 796 bit 29 */ + bool idleIncrementalPidCic : 1 {}; + /** + * AEM X-Series or rusEFI Wideband + offset 796 bit 30 */ + bool enableAemXSeries : 1 {}; + /** + offset 796 bit 31 */ + bool unusedBit_227_31 : 1 {}; + /** + * offset 800 + */ + brain_input_pin_e logicAnalyzerPins[LOGIC_ANALYZER_CHANNEL_COUNT]; + /** + * offset 808 + */ + pin_output_mode_e mainRelayPinMode; + /** + * need 4 byte alignment + * units: units + * offset 809 + */ + uint8_t alignmentFill_at_809[1]; + /** + * offset 810 + */ + Gpio hip9011CsPin; + /** + * offset 812 + */ + Gpio hip9011IntHoldPin; + /** + * offset 814 + */ + pin_output_mode_e hip9011IntHoldPinMode; + /** + * need 4 byte alignment + * units: units + * offset 815 + */ + uint8_t alignmentFill_at_815[1]; + /** + * offset 816 + */ uint32_t verboseCanBaseAddress; /** * Boost Voltage * units: v - * offset 752 + * offset 820 */ uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. * units: kPa - * offset 753 + * offset 821 */ uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C - * offset 754 + * offset 822 */ output_pin_e acFanPin; /** - * offset 756 + * offset 824 */ pin_output_mode_e acFanPinMode; /** - * offset 757 + * offset 825 */ spi_device_e l9779spiDevice; /** * units: volts - * offset 758 + * offset 826 */ scaled_channel dwellVoltageCorrVoltBins[DWELL_CURVE_SIZE]; /** - * offset 766 + * offset 834 */ imu_type_e imuType; /** * units: multiplier - * offset 767 + * offset 835 */ scaled_channel dwellVoltageCorrValues[DWELL_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 775 + * offset 843 */ - uint8_t alignmentFill_at_775[1]; + uint8_t alignmentFill_at_843[1]; /** * units: kg - * offset 776 + * offset 844 */ uint16_t vehicleWeight; /** * How far above idle speed do we consider idling, i.e. coasting detection threshold. * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. * units: RPM - * offset 778 + * offset 846 */ int16_t idlePidRpmUpperLimit; /** * Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment. * units: ms - * offset 780 + * offset 848 */ scaled_channel applyNonlinearBelowPulse; /** - * offset 782 + * offset 850 */ Gpio lps25BaroSensorScl; /** - * offset 784 + * offset 852 */ Gpio lps25BaroSensorSda; /** - * offset 786 + * offset 854 */ brain_input_pin_e vehicleSpeedSensorInputPin; /** * Some vehicles have a switch to indicate that clutch pedal is all the way up - * offset 788 + * offset 856 */ switch_input_pin_e clutchUpPin; /** - * offset 790 + * offset 858 */ InjectorNonlinearMode injectorNonlinearMode; /** - * offset 791 + * offset 859 */ pin_input_mode_e clutchUpPinMode; /** - * offset 792 + * offset 860 */ Gpio max31855_cs[EGT_CHANNEL_COUNT]; /** * Continental/GM flex fuel sensor, 50-150hz type - * offset 808 + * offset 876 */ brain_input_pin_e flexSensorPin; /** - * offset 810 + * offset 878 */ Gpio test557pin; /** - * offset 812 + * offset 880 */ pin_output_mode_e stepperDirectionPinMode; /** - * offset 813 + * offset 881 */ spi_device_e mc33972spiDevice; /** * Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0 * units: :1 - * offset 814 + * offset 882 */ scaled_channel stoichRatioSecondary; /** * Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open. * units: % - * offset 815 + * offset 883 */ uint8_t etbMaximumPosition; /** * Rate the ECU will log to the SD card, in hz (log lines per second). * units: hz - * offset 816 + * offset 884 */ uint16_t sdCardLogFrequency; /** - * offset 818 + * offset 886 */ adc_channel_e idlePositionChannel; /** * need 4 byte alignment * units: units - * offset 819 + * offset 887 */ - uint8_t alignmentFill_at_819[1]; + uint8_t alignmentFill_at_887[1]; /** - * offset 820 + * offset 888 */ Gpio debugMapAveraging; /** - * offset 822 + * offset 890 */ output_pin_e starterRelayDisablePin; /** * On some vehicles we can disable starter once engine is already running - * offset 824 + * offset 892 */ pin_output_mode_e starterRelayDisablePinMode; /** * need 4 byte alignment * units: units - * offset 825 + * offset 893 */ - uint8_t alignmentFill_at_825[1]; + uint8_t alignmentFill_at_893[1]; /** * Some Subaru and some Mazda use double-solenoid idle air valve - * offset 826 + * offset 894 */ output_pin_e secondSolenoidPin; /** * See also starterControlPin - * offset 828 + * offset 896 */ switch_input_pin_e startStopButtonPin; /** * need 4 byte alignment * units: units - * offset 830 + * offset 898 */ - uint8_t alignmentFill_at_830[2]; + uint8_t alignmentFill_at_898[2]; /** * 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. * units: count - * offset 832 + * offset 900 */ int mapMinBufferLength; /** * 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%. * units: % - * offset 836 + * offset 904 */ int16_t idlePidDeactivationTpsThreshold; /** * units: % - * offset 838 + * offset 906 */ int16_t stepperParkingExtraSteps; /** * units: ADC - * offset 840 + * offset 908 */ uint16_t tps1SecondaryMin; /** * units: ADC - * offset 842 + * offset 910 */ uint16_t tps1SecondaryMax; /** * units: rpm - * offset 844 + * offset 912 */ int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed * units: Seconds - * offset 846 + * offset 914 */ uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high - * offset 848 + * offset 916 */ Gpio triggerErrorPin; /** - * offset 850 + * offset 918 */ pin_output_mode_e triggerErrorPinMode; /** * need 4 byte alignment * units: units - * offset 851 + * offset 919 */ - uint8_t alignmentFill_at_851[1]; + uint8_t alignmentFill_at_919[1]; /** - * offset 852 + * offset 920 */ output_pin_e acRelayPin; /** * units: % - * offset 854 + * offset 922 */ uint8_t lambdaProtectionMinTps; /** * Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed * units: s - * offset 855 + * offset 923 */ scaled_channel lambdaProtectionTimeout; /** * units: RPM - * offset 856 + * offset 924 */ scaled_channel lambdaProtectionRestoreRpm; /** - * offset 857 + * offset 925 */ pin_output_mode_e acRelayPinMode; /** * need 4 byte alignment * units: units - * offset 858 + * offset 926 */ - uint8_t alignmentFill_at_858[2]; + uint8_t alignmentFill_at_926[2]; /** - * offset 860 + * offset 928 */ script_setting_t scriptSetting[SCRIPT_SETTING_COUNT]; /** - * offset 892 + * offset 960 */ Gpio spi1mosiPin; /** - * offset 894 + * offset 962 */ Gpio spi1misoPin; /** - * offset 896 + * offset 964 */ Gpio spi1sckPin; /** - * offset 898 + * offset 966 */ Gpio spi2mosiPin; /** - * offset 900 + * offset 968 */ Gpio spi2misoPin; /** - * offset 902 + * offset 970 */ Gpio spi2sckPin; /** - * offset 904 + * offset 972 */ Gpio spi3mosiPin; /** - * offset 906 + * offset 974 */ Gpio spi3misoPin; /** - * offset 908 + * offset 976 */ Gpio spi3sckPin; /** * Saab Combustion Detection Module knock signal input pin * also known as Saab Ion Sensing Module - * offset 910 + * offset 978 */ Gpio cdmInputPin; /** - * offset 912 + * offset 980 */ uart_device_e consoleUartDevice; /** * rusEFI console Sensor Sniffer mode - * offset 913 + * offset 981 */ sensor_chart_e sensorChartMode; /** - * offset 914 + * offset 982 */ maf_sensor_type_e mafSensorType; /** * need 4 byte alignment * units: units - * offset 915 + * offset 983 */ - uint8_t alignmentFill_at_915[1]; + uint8_t alignmentFill_at_983[1]; /** - offset 916 bit 0 */ + offset 984 bit 0 */ bool clutchUpPinInverted : 1 {}; /** - offset 916 bit 1 */ + offset 984 bit 1 */ bool clutchDownPinInverted : 1 {}; /** * If enabled we use two H-bridges to drive stepper idle air valve - offset 916 bit 2 */ + offset 984 bit 2 */ bool useHbridgesToDriveIdleStepper : 1 {}; /** - offset 916 bit 3 */ + offset 984 bit 3 */ bool multisparkEnable : 1 {}; /** - offset 916 bit 4 */ + offset 984 bit 4 */ bool enableLaunchRetard : 1 {}; /** - offset 916 bit 5 */ + offset 984 bit 5 */ bool canInputBCM : 1 {}; /** * This property is useful if using rusEFI as TCM or BCM only - offset 916 bit 6 */ + offset 984 bit 6 */ bool consumeObdSensors : 1 {}; /** * Read VSS from OEM CAN bus according to selected CAN vehicle configuration. - offset 916 bit 7 */ + offset 984 bit 7 */ bool enableCanVss : 1 {}; /** - offset 916 bit 8 */ + offset 984 bit 8 */ bool enableInnovateLC2 : 1 {}; /** - offset 916 bit 9 */ + offset 984 bit 9 */ bool showHumanReadableWarning : 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 916 bit 10 */ + offset 984 bit 10 */ bool stftIgnoreErrorMagnitude : 1 {}; /** - offset 916 bit 11 */ + offset 984 bit 11 */ bool vvtBooleanForVerySpecialCases : 1 {}; /** - offset 916 bit 12 */ + offset 984 bit 12 */ bool enableSoftwareKnock : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable vvt_details - offset 916 bit 13 */ + offset 984 bit 13 */ bool verboseVVTDecoding : 1 {}; /** * get invertCamVVTSignal - offset 916 bit 14 */ + offset 984 bit 14 */ bool invertCamVVTSignal : 1 {}; /** * In Alpha-N mode, compensate for air temperature. - offset 916 bit 15 */ + offset 984 bit 15 */ bool alphaNUseIat : 1 {}; /** - offset 916 bit 16 */ + offset 984 bit 16 */ bool knockBankCyl1 : 1 {}; /** - offset 916 bit 17 */ + offset 984 bit 17 */ bool knockBankCyl2 : 1 {}; /** - offset 916 bit 18 */ + offset 984 bit 18 */ bool knockBankCyl3 : 1 {}; /** - offset 916 bit 19 */ + offset 984 bit 19 */ bool knockBankCyl4 : 1 {}; /** - offset 916 bit 20 */ + offset 984 bit 20 */ bool knockBankCyl5 : 1 {}; /** - offset 916 bit 21 */ + offset 984 bit 21 */ bool knockBankCyl6 : 1 {}; /** - offset 916 bit 22 */ + offset 984 bit 22 */ bool knockBankCyl7 : 1 {}; /** - offset 916 bit 23 */ + offset 984 bit 23 */ bool knockBankCyl8 : 1 {}; /** - offset 916 bit 24 */ + offset 984 bit 24 */ bool knockBankCyl9 : 1 {}; /** - offset 916 bit 25 */ + offset 984 bit 25 */ bool knockBankCyl10 : 1 {}; /** - offset 916 bit 26 */ + offset 984 bit 26 */ bool knockBankCyl11 : 1 {}; /** - offset 916 bit 27 */ + offset 984 bit 27 */ bool knockBankCyl12 : 1 {}; /** - offset 916 bit 28 */ + offset 984 bit 28 */ bool tcuEnabled : 1 {}; /** - offset 916 bit 29 */ + offset 984 bit 29 */ bool canBroadcastUseChannelTwo : 1 {}; /** * If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss - offset 916 bit 30 */ + offset 984 bit 30 */ bool useRawOutputToDriveIdleStepper : 1 {}; /** * Print incoming and outgoing second bus CAN messages in rusEFI console - offset 916 bit 31 */ + offset 984 bit 31 */ bool verboseCan2 : 1 {}; /** - * offset 920 + * offset 988 */ dc_io etbIo[ETB_COUNT]; /** * Wastegate control Solenoid - * offset 936 + * offset 1004 */ output_pin_e boostControlPin; /** - * offset 938 + * offset 1006 */ pin_output_mode_e boostControlPinMode; /** * need 4 byte alignment * units: units - * offset 939 + * offset 1007 */ - uint8_t alignmentFill_at_939[1]; + uint8_t alignmentFill_at_1007[1]; /** - * offset 940 + * offset 1008 */ switch_input_pin_e ALSActivatePin; /** - * offset 942 + * offset 1010 */ switch_input_pin_e launchActivatePin; /** - * offset 944 + * offset 1012 */ pid_s boostPid; /** - * offset 964 + * offset 1032 */ boostType_e boostType; /** - * offset 965 + * offset 1033 */ pin_input_mode_e ignitionKeyDigitalPinMode; /** - * offset 966 + * offset 1034 */ Gpio ignitionKeyDigitalPin; /** * units: Hz - * offset 968 + * offset 1036 */ int boostPwmFrequency; /** - * offset 972 + * offset 1040 */ launchActivationMode_e launchActivationMode; /** - * offset 973 + * offset 1041 */ antiLagActivationMode_e antiLagActivationMode; /** * need 4 byte alignment * units: units - * offset 974 + * offset 1042 */ - uint8_t alignmentFill_at_974[2]; + uint8_t alignmentFill_at_1042[2]; /** * Launch disabled above this speed if setting is above zero * units: Kph - * offset 976 + * offset 1044 */ int launchSpeedThreshold; /** * Range from Launch RPM for Timing Retard to activate * units: RPM - * offset 980 + * offset 1048 */ int launchTimingRpmRange; /** * Extra Fuel Added * units: % - * offset 984 + * offset 1052 */ int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid * units: % - * offset 988 + * offset 1056 */ int launchBoostDuty; /** * Range from Launch RPM to activate Hard Cut * units: RPM - * offset 992 + * offset 1060 */ int hardCutRpmRange; /** - * offset 996 + * offset 1064 */ float turbochargerFilter; /** - * offset 1000 + * offset 1068 */ int launchTpsThreshold; /** - * offset 1004 + * offset 1072 */ float launchActivateDelay; /** - * offset 1008 + * offset 1076 */ stft_s stft; /** - * offset 1032 + * offset 1100 */ dc_io stepperDcIo[DC_PER_STEPPER]; /** * For example, BMW, GM or Chevrolet * REQUIRED for rusEFI Online - * offset 1048 + * offset 1116 */ vehicle_info_t engineMake; /** * For example, LS1 or NB2 * REQUIRED for rusEFI Online - * offset 1080 + * offset 1148 */ vehicle_info_t engineCode; /** * For example, Hunchback or Orange Miata * Vehicle name has to be unique between your vehicles. * REQUIRED for rusEFI Online - * offset 1112 + * offset 1180 */ vehicle_info_t vehicleName; /** - * offset 1144 + * offset 1212 */ output_pin_e tcu_solenoid[TCU_SOLENOID_COUNT]; /** - * offset 1156 + * offset 1224 */ dc_function_e etbFunctions[ETB_COUNT]; /** - * offset 1158 + * offset 1226 */ spi_device_e drv8860spiDevice; /** * need 4 byte alignment * units: units - * offset 1159 + * offset 1227 */ - uint8_t alignmentFill_at_1159[1]; + uint8_t alignmentFill_at_1227[1]; /** - * offset 1160 + * offset 1228 */ Gpio drv8860_cs; /** - * offset 1162 + * offset 1230 */ pin_output_mode_e drv8860_csPinMode; /** * need 4 byte alignment * units: units - * offset 1163 + * offset 1231 */ - uint8_t alignmentFill_at_1163[1]; + uint8_t alignmentFill_at_1231[1]; /** - * offset 1164 + * offset 1232 */ Gpio drv8860_miso; /** * units: volt - * offset 1166 + * offset 1234 */ scaled_channel fuelLevelBins[FUEL_LEVEL_TABLE_COUNT]; /** - * offset 1182 + * offset 1250 */ output_pin_e luaOutputPins[LUA_PWM_COUNT]; /** * need 4 byte alignment * units: units - * offset 1198 + * offset 1266 */ - uint8_t alignmentFill_at_1198[2]; + uint8_t alignmentFill_at_1266[2]; /** * Angle between cam sensor and VVT zero position * set vvt_offset X * units: value - * offset 1200 + * offset 1268 */ float vvtOffsets[CAM_INPUTS_COUNT]; /** - * offset 1216 + * offset 1284 */ vr_threshold_s vrThreshold[VR_THRESHOLD_COUNT]; /** - * offset 1248 + * offset 1316 */ gppwm_note_t gpPwmNote[GPPWM_CHANNELS]; /** * units: ADC - * offset 1312 + * offset 1380 */ uint16_t tps2SecondaryMin; /** * units: ADC - * offset 1314 + * offset 1382 */ uint16_t tps2SecondaryMax; /** * Select which bus the wideband controller is attached to. - offset 1316 bit 0 */ + offset 1384 bit 0 */ bool widebandOnSecondBus : 1 {}; /** * Enables lambda sensor closed loop feedback for fuelling. - offset 1316 bit 1 */ + offset 1384 bit 1 */ bool fuelClosedLoopCorrectionEnabled : 1 {}; /** - offset 1316 bit 2 */ + offset 1384 bit 2 */ bool oddFireEngine : 1 {}; /** - offset 1316 bit 3 */ + offset 1384 bit 3 */ bool boardUseTachPullUp : 1 {}; /** - offset 1316 bit 4 */ + offset 1384 bit 4 */ bool boardUseTempPullUp : 1 {}; /** - offset 1316 bit 5 */ + offset 1384 bit 5 */ bool yesUnderstandLocking : 1 {}; /** * Sometimes we have a performance issue while printing error - offset 1316 bit 6 */ + offset 1384 bit 6 */ bool silentTriggerError : 1 {}; /** - offset 1316 bit 7 */ + offset 1384 bit 7 */ bool useLinearCltSensor : 1 {}; /** * enable can_read/disable can_read - offset 1316 bit 8 */ + offset 1384 bit 8 */ bool canReadEnabled : 1 {}; /** * enable can_write/disable can_write. See also can1ListenMode - offset 1316 bit 9 */ + offset 1384 bit 9 */ bool canWriteEnabled : 1 {}; /** - offset 1316 bit 10 */ + offset 1384 bit 10 */ bool useLinearIatSensor : 1 {}; /** - offset 1316 bit 11 */ + offset 1384 bit 11 */ bool boardUse2stepPullDown : 1 {}; /** * Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% - offset 1316 bit 12 */ + offset 1384 bit 12 */ bool tachPulseDurationAsDutyCycle : 1 {}; /** * This enables smart alternator control and activates the extra alternator settings. - offset 1316 bit 13 */ + offset 1384 bit 13 */ bool isAlternatorControlEnabled : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the primary engine speed sensor. - offset 1316 bit 14 */ + offset 1384 bit 14 */ bool invertPrimaryTriggerSignal : 1 {}; /** * https://wiki.rusefi.com/Trigger-Configuration-Guide * This setting flips the signal from the secondary engine speed sensor. - offset 1316 bit 15 */ + offset 1384 bit 15 */ bool invertSecondaryTriggerSignal : 1 {}; /** - offset 1316 bit 16 */ + offset 1384 bit 16 */ bool cutFuelOnHardLimit : 1 {}; /** * Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. - offset 1316 bit 17 */ + offset 1384 bit 17 */ bool cutSparkOnHardLimit : 1 {}; /** - offset 1316 bit 18 */ + offset 1384 bit 18 */ bool launchFuelCutEnable : 1 {}; /** * This is the Cut Mode normally used - offset 1316 bit 19 */ + offset 1384 bit 19 */ bool launchSparkCutEnable : 1 {}; /** - offset 1316 bit 20 */ + offset 1384 bit 20 */ bool boardUseCrankPullUp : 1 {}; /** - offset 1316 bit 21 */ + offset 1384 bit 21 */ bool boardUseCamPullDown : 1 {}; /** - offset 1316 bit 22 */ + offset 1384 bit 22 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 1316 bit 23 */ + offset 1384 bit 23 */ bool boardUseD2PullDown : 1 {}; /** - offset 1316 bit 24 */ + offset 1384 bit 24 */ bool boardUseD3PullDown : 1 {}; /** - offset 1316 bit 25 */ + offset 1384 bit 25 */ bool boardUseD4PullDown : 1 {}; /** - offset 1316 bit 26 */ + offset 1384 bit 26 */ bool boardUseD5PullDown : 1 {}; /** * Are you a developer troubleshooting TS over CAN ISO/TP? - offset 1316 bit 27 */ + offset 1384 bit 27 */ bool verboseIsoTp : 1 {}; /** - offset 1316 bit 28 */ + offset 1384 bit 28 */ bool engineSnifferFocusOnInputs : 1 {}; /** - offset 1316 bit 29 */ + offset 1384 bit 29 */ bool launchActivateInverted : 1 {}; /** - offset 1316 bit 30 */ + offset 1384 bit 30 */ bool twoStroke : 1 {}; /** * Where is your primary skipped wheel located? - offset 1316 bit 31 */ + offset 1384 bit 31 */ bool skippedWheelOnCam : 1 {}; /** - * offset 1320 + * offset 1388 */ adc_channel_e hipOutputChannel; /** * need 4 byte alignment * units: units - * offset 1321 + * offset 1389 */ - uint8_t alignmentFill_at_1321[1]; + uint8_t alignmentFill_at_1389[1]; /** * A/C button input - * offset 1322 + * offset 1390 */ switch_input_pin_e acSwitch; /** - * offset 1324 + * offset 1392 */ adc_channel_e vRefAdcChannel; /** * Expected neutral position * units: % - * offset 1325 + * offset 1393 */ uint8_t etbNeutralPosition; /** * See also idleRpmPid - * offset 1326 + * offset 1394 */ idle_mode_e idleMode; /** * need 4 byte alignment * units: units - * offset 1327 + * offset 1395 */ - uint8_t alignmentFill_at_1327[1]; + uint8_t alignmentFill_at_1395[1]; /** - offset 1328 bit 0 */ + offset 1396 bit 0 */ bool isInjectionEnabled : 1 {}; /** - offset 1328 bit 1 */ + offset 1396 bit 1 */ bool isIgnitionEnabled : 1 {}; /** * When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders. - offset 1328 bit 2 */ + offset 1396 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? - offset 1328 bit 3 */ + offset 1396 bit 3 */ bool complexWallModel : 1 {}; /** * RPM is measured based on last 720 degrees while instant RPM is measured based on the last 90 degrees of crank revolution - offset 1328 bit 4 */ + offset 1396 bit 4 */ bool alwaysInstantRpm : 1 {}; /** - offset 1328 bit 5 */ + offset 1396 bit 5 */ bool isMapAveragingEnabled : 1 {}; /** * If enabled, use separate temperature multiplier table for cranking idle position. * If disabled, use normal running multiplier table applied to the cranking base position. - offset 1328 bit 6 */ + offset 1396 bit 6 */ bool overrideCrankingIacSetting : 1 {}; /** * 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. - offset 1328 bit 7 */ + offset 1396 bit 7 */ bool useSeparateAdvanceForIdle : 1 {}; /** - offset 1328 bit 8 */ + offset 1396 bit 8 */ bool isWaveAnalyzerEnabled : 1 {}; /** * This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling. - offset 1328 bit 9 */ + offset 1396 bit 9 */ bool useSeparateVeForIdle : 1 {}; /** * Verbose info in console below engineSnifferRpmThreshold * enable trigger_details - offset 1328 bit 10 */ + offset 1396 bit 10 */ bool verboseTriggerSynchDetails : 1 {}; /** * Usually if we have no trigger events that means engine is stopped * Unless we are troubleshooting and spinning the engine by hand - this case a longer * delay is needed - offset 1328 bit 11 */ + offset 1396 bit 11 */ bool isManualSpinningMode : 1 {}; /** - offset 1328 bit 12 */ + offset 1396 bit 12 */ bool cutFuelInAcr : 1 {}; /** - offset 1328 bit 13 */ + offset 1396 bit 13 */ bool hondaK : 1 {}; /** * This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark). - offset 1328 bit 14 */ + offset 1396 bit 14 */ bool twoWireBatchIgnition : 1 {}; /** - offset 1328 bit 15 */ + offset 1396 bit 15 */ bool useFixedBaroCorrFromMap : 1 {}; /** * In Constant mode, timing is automatically tapered to running as RPM increases. * In Table mode, the "Cranking ignition advance" table is used directly. - offset 1328 bit 16 */ + offset 1396 bit 16 */ bool useSeparateAdvanceForCranking : 1 {}; /** * This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle). * You probably don't need this. - offset 1328 bit 17 */ + offset 1396 bit 17 */ bool useAdvanceCorrectionsForCranking : 1 {}; /** * Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor. - offset 1328 bit 18 */ + offset 1396 bit 18 */ bool flexCranking : 1 {}; /** * This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller - offset 1328 bit 19 */ + offset 1396 bit 19 */ bool useIacPidMultTable : 1 {}; /** - offset 1328 bit 20 */ + offset 1396 bit 20 */ bool isBoostControlEnabled : 1 {}; /** * Interpolates the Ignition Retard from 0 to 100% within the RPM Range - offset 1328 bit 21 */ + offset 1396 bit 21 */ bool launchSmoothRetard : 1 {}; /** * Some engines are OK running semi-random sequential while other engine require phase synchronization - offset 1328 bit 22 */ + offset 1396 bit 22 */ bool isPhaseSyncRequiredForIgnition : 1 {}; /** * If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value. - offset 1328 bit 23 */ + offset 1396 bit 23 */ bool useCltBasedRpmLimit : 1 {}; /** * 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. - offset 1328 bit 24 */ + offset 1396 bit 24 */ bool forceO2Heating : 1 {}; /** * 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'. - offset 1328 bit 25 */ + offset 1396 bit 25 */ bool invertVvtControlIntake : 1 {}; /** * 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'. - offset 1328 bit 26 */ + offset 1396 bit 26 */ bool invertVvtControlExhaust : 1 {}; /** - offset 1328 bit 27 */ + offset 1396 bit 27 */ bool useBiQuadOnAuxSpeedSensors : 1 {}; /** * '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. - offset 1328 bit 28 */ + offset 1396 bit 28 */ bool sdTriggerLog : 1 {}; /** - offset 1328 bit 29 */ + offset 1396 bit 29 */ bool ALSActivateInverted : 1 {}; /** - offset 1328 bit 30 */ + offset 1396 bit 30 */ bool stepper_dc_use_two_wires : 1 {}; /** - offset 1328 bit 31 */ + offset 1396 bit 31 */ bool watchOutForLinearTime : 1 {}; /** * units: count - * offset 1332 + * offset 1400 */ uint32_t engineChartSize; /** * units: mult - * offset 1336 + * offset 1404 */ float turboSpeedSensorMultiplier; /** - * offset 1340 + * offset 1408 */ Gpio camInputsDebug[CAM_INPUTS_COUNT]; /** * Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling. * units: RPM - * offset 1348 + * offset 1416 */ int16_t acIdleRpmTarget; /** * set warningPeriod X * units: seconds - * offset 1350 + * offset 1418 */ int16_t warningPeriod; /** * units: angle - * offset 1352 + * offset 1420 */ float knockDetectionWindowStart; /** * units: angle - * offset 1356 + * offset 1424 */ float knockDetectionWindowEnd; /** * units: ms - * offset 1360 + * offset 1428 */ float idleStepperReactionTime; /** * units: count - * offset 1364 + * offset 1432 */ int idleStepperTotalSteps; /** * TODO: finish this #413 * units: sec - * offset 1368 + * offset 1436 */ float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. * units: index - * offset 1372 + * offset 1440 */ int mapAveragingSchedulingAtIndex; /** * Duration in ms or duty cycle depending on selected mode - * offset 1376 + * offset 1444 */ float tachPulseDuractionMs; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. * units: Seconds - * offset 1380 + * offset 1448 */ float wwaeTau; /** - * offset 1384 + * offset 1452 */ pid_s alternatorControl; /** - * offset 1404 + * offset 1472 */ pid_s etb; /** - * offset 1424 + * offset 1492 */ Gpio triggerInputDebugPins[TRIGGER_INPUT_PIN_COUNT]; /** * RPM range above upper limit for extra air taper * units: RPM - * offset 1428 + * offset 1496 */ int16_t airTaperRpmRange; /** - * offset 1430 + * offset 1498 */ brain_input_pin_e turboSpeedSensorInputPin; /** @@ -2677,7 +2681,7 @@ struct engine_configuration_s { * See also tps2_1AdcChannel * set tps2_min X * units: ADC - * offset 1432 + * offset 1500 */ int16_t tps2Min; /** @@ -2685,1118 +2689,1118 @@ struct engine_configuration_s { * See also tps1_1AdcChannel * set tps2_max X * units: ADC - * offset 1434 + * offset 1502 */ int16_t tps2Max; /** * See also startStopButtonPin - * offset 1436 + * offset 1504 */ output_pin_e starterControlPin; /** - * offset 1438 + * offset 1506 */ pin_input_mode_e startStopButtonMode; /** * need 4 byte alignment * units: units - * offset 1439 + * offset 1507 */ - uint8_t alignmentFill_at_1439[1]; + uint8_t alignmentFill_at_1507[1]; /** - * offset 1440 + * offset 1508 */ Gpio mc33816_flag0; /** * units: Pulse - * offset 1442 + * offset 1510 */ uint8_t tachPulsePerRev; /** * need 4 byte alignment * units: units - * offset 1443 + * offset 1511 */ - uint8_t alignmentFill_at_1443[1]; + uint8_t alignmentFill_at_1511[1]; /** * kPa value which is too low to be true * units: kPa - * offset 1444 + * offset 1512 */ float mapErrorDetectionTooLow; /** * kPa value which is too high to be true * units: kPa - * offset 1448 + * offset 1516 */ float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. * units: ms - * offset 1452 + * offset 1520 */ scaled_channel multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. * units: ms - * offset 1454 + * offset 1522 */ scaled_channel multisparkDwell; /** * See cltIdleRpmBins - * offset 1456 + * offset 1524 */ pid_s idleRpmPid; /** * 0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. * units: Fraction - * offset 1476 + * offset 1544 */ float wwaeBeta; /** * See also EFI_CONSOLE_RX_BRAIN_PIN - * offset 1480 + * offset 1548 */ Gpio binarySerialTxPin; /** - * offset 1482 + * offset 1550 */ Gpio binarySerialRxPin; /** - * offset 1484 + * offset 1552 */ Gpio auxValves[AUX_DIGITAL_VALVE_COUNT]; /** - * offset 1488 + * offset 1556 */ switch_input_pin_e tcuUpshiftButtonPin; /** - * offset 1490 + * offset 1558 */ switch_input_pin_e tcuDownshiftButtonPin; /** * units: voltage - * offset 1492 + * offset 1560 */ float throttlePedalUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1496 + * offset 1564 */ float throttlePedalWOTVoltage; /** * on IGN voltage detection turn fuel pump on to build fuel pressure * units: seconds - * offset 1500 + * offset 1568 */ int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation * units: RPM - * offset 1502 + * offset 1570 */ int16_t idlePidRpmDeadZone; /** * This is the target battery voltage the alternator PID control will attempt to maintain * units: Volts - * offset 1504 + * offset 1572 */ float targetVBatt; /** * See Over/Undervoltage Shutdown/Retry bit in documentation - offset 1508 bit 0 */ + offset 1576 bit 0 */ bool mc33810DisableRecoveryMode : 1 {}; /** - offset 1508 bit 1 */ + offset 1576 bit 1 */ bool mc33810Gpgd0Mode : 1 {}; /** - offset 1508 bit 2 */ + offset 1576 bit 2 */ bool mc33810Gpgd1Mode : 1 {}; /** - offset 1508 bit 3 */ + offset 1576 bit 3 */ bool mc33810Gpgd2Mode : 1 {}; /** - offset 1508 bit 4 */ + offset 1576 bit 4 */ bool mc33810Gpgd3Mode : 1 {}; /** - offset 1508 bit 5 */ - bool unusedBit_494_5 : 1 {}; + offset 1576 bit 5 */ + bool unusedBit_495_5 : 1 {}; /** - offset 1508 bit 6 */ - bool unusedBit_494_6 : 1 {}; + offset 1576 bit 6 */ + bool unusedBit_495_6 : 1 {}; /** - offset 1508 bit 7 */ - bool unusedBit_494_7 : 1 {}; + offset 1576 bit 7 */ + bool unusedBit_495_7 : 1 {}; /** - offset 1508 bit 8 */ - bool unusedBit_494_8 : 1 {}; + offset 1576 bit 8 */ + bool unusedBit_495_8 : 1 {}; /** - offset 1508 bit 9 */ - bool unusedBit_494_9 : 1 {}; + offset 1576 bit 9 */ + bool unusedBit_495_9 : 1 {}; /** - offset 1508 bit 10 */ - bool unusedBit_494_10 : 1 {}; + offset 1576 bit 10 */ + bool unusedBit_495_10 : 1 {}; /** - offset 1508 bit 11 */ - bool unusedBit_494_11 : 1 {}; + offset 1576 bit 11 */ + bool unusedBit_495_11 : 1 {}; /** - offset 1508 bit 12 */ - bool unusedBit_494_12 : 1 {}; + offset 1576 bit 12 */ + bool unusedBit_495_12 : 1 {}; /** - offset 1508 bit 13 */ - bool unusedBit_494_13 : 1 {}; + offset 1576 bit 13 */ + bool unusedBit_495_13 : 1 {}; /** - offset 1508 bit 14 */ - bool unusedBit_494_14 : 1 {}; + offset 1576 bit 14 */ + bool unusedBit_495_14 : 1 {}; /** - offset 1508 bit 15 */ - bool unusedBit_494_15 : 1 {}; + offset 1576 bit 15 */ + bool unusedBit_495_15 : 1 {}; /** - offset 1508 bit 16 */ - bool unusedBit_494_16 : 1 {}; + offset 1576 bit 16 */ + bool unusedBit_495_16 : 1 {}; /** - offset 1508 bit 17 */ - bool unusedBit_494_17 : 1 {}; + offset 1576 bit 17 */ + bool unusedBit_495_17 : 1 {}; /** - offset 1508 bit 18 */ - bool unusedBit_494_18 : 1 {}; + offset 1576 bit 18 */ + bool unusedBit_495_18 : 1 {}; /** - offset 1508 bit 19 */ - bool unusedBit_494_19 : 1 {}; + offset 1576 bit 19 */ + bool unusedBit_495_19 : 1 {}; /** - offset 1508 bit 20 */ - bool unusedBit_494_20 : 1 {}; + offset 1576 bit 20 */ + bool unusedBit_495_20 : 1 {}; /** - offset 1508 bit 21 */ - bool unusedBit_494_21 : 1 {}; + offset 1576 bit 21 */ + bool unusedBit_495_21 : 1 {}; /** - offset 1508 bit 22 */ - bool unusedBit_494_22 : 1 {}; + offset 1576 bit 22 */ + bool unusedBit_495_22 : 1 {}; /** - offset 1508 bit 23 */ - bool unusedBit_494_23 : 1 {}; + offset 1576 bit 23 */ + bool unusedBit_495_23 : 1 {}; /** - offset 1508 bit 24 */ - bool unusedBit_494_24 : 1 {}; + offset 1576 bit 24 */ + bool unusedBit_495_24 : 1 {}; /** - offset 1508 bit 25 */ - bool unusedBit_494_25 : 1 {}; + offset 1576 bit 25 */ + bool unusedBit_495_25 : 1 {}; /** - offset 1508 bit 26 */ - bool unusedBit_494_26 : 1 {}; + offset 1576 bit 26 */ + bool unusedBit_495_26 : 1 {}; /** - offset 1508 bit 27 */ - bool unusedBit_494_27 : 1 {}; + offset 1576 bit 27 */ + bool unusedBit_495_27 : 1 {}; /** - offset 1508 bit 28 */ - bool unusedBit_494_28 : 1 {}; + offset 1576 bit 28 */ + bool unusedBit_495_28 : 1 {}; /** - offset 1508 bit 29 */ - bool unusedBit_494_29 : 1 {}; + offset 1576 bit 29 */ + bool unusedBit_495_29 : 1 {}; /** - offset 1508 bit 30 */ - bool unusedBit_494_30 : 1 {}; + offset 1576 bit 30 */ + bool unusedBit_495_30 : 1 {}; /** - offset 1508 bit 31 */ - bool unusedBit_494_31 : 1 {}; + offset 1576 bit 31 */ + bool unusedBit_495_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 - * offset 1512 + * offset 1580 */ int16_t afterCrankingIACtaperDuration; /** * IAC Value added when coasting and transitioning into idle. * units: percent - * offset 1514 + * offset 1582 */ int16_t iacByTpsTaper; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1516 + * offset 1584 */ Gpio auxSerialTxPin; /** * Auxiliary sensor serial, not to be confused with secondary calibration serial - * offset 1518 + * offset 1586 */ Gpio auxSerialRxPin; /** - * offset 1520 + * offset 1588 */ Gpio accelerometerCsPin; /** * How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs. * units: sec - * offset 1522 + * offset 1590 */ scaled_channel tpsAccelLookback; /** * Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1523 + * offset 1591 */ uint8_t coastingFuelCutVssLow; /** * Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears. * units: kph - * offset 1524 + * offset 1592 */ uint8_t coastingFuelCutVssHigh; /** * 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. * units: sec - * offset 1525 + * offset 1593 */ scaled_channel noFuelTrimAfterDfcoTime; /** * need 4 byte alignment * units: units - * offset 1526 + * offset 1594 */ - uint8_t alignmentFill_at_1526[2]; + uint8_t alignmentFill_at_1594[2]; /** * 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. * units: roc - * offset 1528 + * offset 1596 */ float tpsAccelEnrichmentThreshold; /** - * offset 1532 + * offset 1600 */ brain_input_pin_e auxSpeedSensorInputPin[AUX_SPEED_SENSOR_COUNT]; /** - * offset 1536 + * offset 1604 */ uint8_t totalGearsCount; /** * Sets what part of injection's is controlled by the injection phase table. - * offset 1537 + * offset 1605 */ InjectionTimingMode injectionTimingMode; /** * See http://rusefi.com/s/debugmode - * offset 1538 + * offset 1606 */ debug_mode_e debugMode; /** * Additional idle % when fan #1 is active * units: % - * offset 1539 + * offset 1607 */ uint8_t fan1ExtraIdle; /** * Band rate for primary TTL * units: BPs - * offset 1540 + * offset 1608 */ uint32_t uartConsoleSerialSpeed; /** * For decel we simply multiply delta of TPS and tFor decel we do not use table?! * units: roc - * offset 1544 + * offset 1612 */ float tpsDecelEnleanmentThreshold; /** * Magic multiplier, we multiply delta of TPS and get fuel squirt duration * units: coeff - * offset 1548 + * offset 1616 */ float tpsDecelEnleanmentMultiplier; /** * units: BPs - * offset 1552 + * offset 1620 */ uint32_t auxSerialSpeed; /** * units: voltage - * offset 1556 + * offset 1624 */ float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor * units: voltage - * offset 1560 + * offset 1628 */ float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate - * offset 1564 + * offset 1632 */ can_baudrate_e canBaudRate; /** * Override the Y axis (load) value used for the VE table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1565 + * offset 1633 */ ve_override_e veOverrideMode; /** - * offset 1566 + * offset 1634 */ can_baudrate_e can2BaudRate; /** * Override the Y axis (load) value used for the AFR table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1567 + * offset 1635 */ load_override_e afrOverrideMode; /** * units: A - * offset 1568 + * offset 1636 */ scaled_channel mc33_hpfp_i_peak; /** * units: A - * offset 1569 + * offset 1637 */ scaled_channel mc33_hpfp_i_hold; /** * How long to deactivate power when hold current is reached before applying power again * units: us - * offset 1570 + * offset 1638 */ uint8_t mc33_hpfp_i_hold_off; /** * Maximum amount of time the solenoid can be active before assuming a programming error * units: ms - * offset 1571 + * offset 1639 */ uint8_t mc33_hpfp_max_hold; /** * Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards) - offset 1572 bit 0 */ + offset 1640 bit 0 */ bool stepperDcInvertedPins : 1 {}; /** * Allow OpenBLT on Primary CAN - offset 1572 bit 1 */ + offset 1640 bit 1 */ bool canOpenBLT : 1 {}; /** * Allow OpenBLT on Secondary CAN - offset 1572 bit 2 */ + offset 1640 bit 2 */ bool can2OpenBLT : 1 {}; /** * Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s). - offset 1572 bit 3 */ + offset 1640 bit 3 */ bool injectorFlowAsMassFlow : 1 {}; /** - offset 1572 bit 4 */ + offset 1640 bit 4 */ bool boardUseCanTerminator : 1 {}; /** - offset 1572 bit 5 */ + offset 1640 bit 5 */ bool kLineDoHondaSend : 1 {}; /** * ListenMode is about acknowledging CAN traffic on the protocol level. Different from canWriteEnabled - offset 1572 bit 6 */ + offset 1640 bit 6 */ bool can1ListenMode : 1 {}; /** - offset 1572 bit 7 */ + offset 1640 bit 7 */ bool can2ListenMode : 1 {}; /** - offset 1572 bit 8 */ - bool unusedBit_559_8 : 1 {}; + offset 1640 bit 8 */ + bool unusedBit_560_8 : 1 {}; /** - offset 1572 bit 9 */ - bool unusedBit_559_9 : 1 {}; + offset 1640 bit 9 */ + bool unusedBit_560_9 : 1 {}; /** - offset 1572 bit 10 */ - bool unusedBit_559_10 : 1 {}; + offset 1640 bit 10 */ + bool unusedBit_560_10 : 1 {}; /** - offset 1572 bit 11 */ - bool unusedBit_559_11 : 1 {}; + offset 1640 bit 11 */ + bool unusedBit_560_11 : 1 {}; /** - offset 1572 bit 12 */ - bool unusedBit_559_12 : 1 {}; + offset 1640 bit 12 */ + bool unusedBit_560_12 : 1 {}; /** - offset 1572 bit 13 */ - bool unusedBit_559_13 : 1 {}; + offset 1640 bit 13 */ + bool unusedBit_560_13 : 1 {}; /** - offset 1572 bit 14 */ - bool unusedBit_559_14 : 1 {}; + offset 1640 bit 14 */ + bool unusedBit_560_14 : 1 {}; /** - offset 1572 bit 15 */ - bool unusedBit_559_15 : 1 {}; + offset 1640 bit 15 */ + bool unusedBit_560_15 : 1 {}; /** - offset 1572 bit 16 */ - bool unusedBit_559_16 : 1 {}; + offset 1640 bit 16 */ + bool unusedBit_560_16 : 1 {}; /** - offset 1572 bit 17 */ - bool unusedBit_559_17 : 1 {}; + offset 1640 bit 17 */ + bool unusedBit_560_17 : 1 {}; /** - offset 1572 bit 18 */ - bool unusedBit_559_18 : 1 {}; + offset 1640 bit 18 */ + bool unusedBit_560_18 : 1 {}; /** - offset 1572 bit 19 */ - bool unusedBit_559_19 : 1 {}; + offset 1640 bit 19 */ + bool unusedBit_560_19 : 1 {}; /** - offset 1572 bit 20 */ - bool unusedBit_559_20 : 1 {}; + offset 1640 bit 20 */ + bool unusedBit_560_20 : 1 {}; /** - offset 1572 bit 21 */ - bool unusedBit_559_21 : 1 {}; + offset 1640 bit 21 */ + bool unusedBit_560_21 : 1 {}; /** - offset 1572 bit 22 */ - bool unusedBit_559_22 : 1 {}; + offset 1640 bit 22 */ + bool unusedBit_560_22 : 1 {}; /** - offset 1572 bit 23 */ - bool unusedBit_559_23 : 1 {}; + offset 1640 bit 23 */ + bool unusedBit_560_23 : 1 {}; /** - offset 1572 bit 24 */ - bool unusedBit_559_24 : 1 {}; + offset 1640 bit 24 */ + bool unusedBit_560_24 : 1 {}; /** - offset 1572 bit 25 */ - bool unusedBit_559_25 : 1 {}; + offset 1640 bit 25 */ + bool unusedBit_560_25 : 1 {}; /** - offset 1572 bit 26 */ - bool unusedBit_559_26 : 1 {}; + offset 1640 bit 26 */ + bool unusedBit_560_26 : 1 {}; /** - offset 1572 bit 27 */ - bool unusedBit_559_27 : 1 {}; + offset 1640 bit 27 */ + bool unusedBit_560_27 : 1 {}; /** - offset 1572 bit 28 */ - bool unusedBit_559_28 : 1 {}; + offset 1640 bit 28 */ + bool unusedBit_560_28 : 1 {}; /** - offset 1572 bit 29 */ - bool unusedBit_559_29 : 1 {}; + offset 1640 bit 29 */ + bool unusedBit_560_29 : 1 {}; /** - offset 1572 bit 30 */ - bool unusedBit_559_30 : 1 {}; + offset 1640 bit 30 */ + bool unusedBit_560_30 : 1 {}; /** - offset 1572 bit 31 */ - bool unusedBit_559_31 : 1 {}; + offset 1640 bit 31 */ + bool unusedBit_560_31 : 1 {}; /** - * offset 1576 + * offset 1644 */ uint8_t camDecoder2jzPosition; /** - * offset 1577 + * offset 1645 */ mc33810maxDwellTimer_e mc33810maxDwellTimer; /** * Duration of each test pulse * units: ms - * offset 1578 + * offset 1646 */ scaled_channel benchTestOnTime; /** * units: % - * offset 1580 + * offset 1648 */ uint8_t lambdaProtectionRestoreTps; /** * units: % - * offset 1581 + * offset 1649 */ scaled_channel lambdaProtectionRestoreLoad; /** - * offset 1582 + * offset 1650 */ pin_input_mode_e launchActivatePinMode; /** * need 4 byte alignment * units: units - * offset 1583 + * offset 1651 */ - uint8_t alignmentFill_at_1583[1]; + uint8_t alignmentFill_at_1651[1]; /** * set_can2_tx_pin X - * offset 1584 + * offset 1652 */ Gpio can2TxPin; /** * set_can2_rx_pin X - * offset 1586 + * offset 1654 */ Gpio can2RxPin; /** - * offset 1588 + * offset 1656 */ pin_output_mode_e starterControlPinMode; /** - * offset 1589 + * offset 1657 */ adc_channel_e wastegatePositionSensor; /** * Override the Y axis (load) value used for the ignition table. * Advanced users only: If you aren't sure you need this, you probably don't need this. - * offset 1590 + * offset 1658 */ load_override_e ignOverrideMode; /** * Select which fuel pressure sensor measures the pressure of the fuel at your injectors. - * offset 1591 + * offset 1659 */ injector_pressure_type_e injectorPressureType; /** - * offset 1592 + * offset 1660 */ output_pin_e hpfpValvePin; /** - * offset 1594 + * offset 1662 */ pin_output_mode_e hpfpValvePinMode; /** * need 4 byte alignment * units: units - * offset 1595 + * offset 1663 */ - uint8_t alignmentFill_at_1595[1]; + uint8_t alignmentFill_at_1663[1]; /** * MAP value above which fuel is cut in case of overboost. * Set to 0 to disable overboost cut. * units: kPa (absolute) - * offset 1596 + * offset 1664 */ float boostCutPressure; /** * units: kg/h - * offset 1600 + * offset 1668 */ scaled_channel tchargeBins[16]; /** * units: ratio - * offset 1616 + * offset 1684 */ scaled_channel tchargeValues[16]; /** * Fixed timing, useful for TDC testing * units: deg - * offset 1632 + * offset 1700 */ float fixedTiming; /** * MAP voltage for low point * units: v - * offset 1636 + * offset 1704 */ float mapLowValueVoltage; /** * MAP voltage for low point * units: v - * offset 1640 + * offset 1708 */ float mapHighValueVoltage; /** * EGO value correction * units: value - * offset 1644 + * offset 1712 */ float egoValueShift; /** * VVT output solenoid pin for this cam - * offset 1648 + * offset 1716 */ output_pin_e vvtPins[CAM_INPUTS_COUNT]; /** - * offset 1656 + * offset 1724 */ pin_output_mode_e sdCardCsPinMode; /** * need 4 byte alignment * units: units - * offset 1657 + * offset 1725 */ - uint8_t alignmentFill_at_1657[3]; + uint8_t alignmentFill_at_1725[3]; /** * This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling. * units: percent - * offset 1660 + * offset 1728 */ int crankingIACposition; /** - * offset 1664 + * offset 1732 */ float tChargeMinRpmMinTps; /** - * offset 1668 + * offset 1736 */ float tChargeMinRpmMaxTps; /** - * offset 1672 + * offset 1740 */ float tChargeMaxRpmMinTps; /** - * offset 1676 + * offset 1744 */ float tChargeMaxRpmMaxTps; /** - * offset 1680 + * offset 1748 */ pwm_freq_t vvtOutputFrequency; /** * 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. * units: deg BTDC - * offset 1682 + * offset 1750 */ int8_t minimumIgnitionTiming; /** * 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 * units: deg BTDC - * offset 1683 + * offset 1751 */ int8_t maximumIgnitionTiming; /** * units: Hz - * offset 1684 + * offset 1752 */ int alternatorPwmFrequency; /** * set vvt_mode X - * offset 1688 + * offset 1756 */ vvt_mode_e vvtMode[CAMS_PER_BANK]; /** * Additional idle % when fan #2 is active * units: % - * offset 1690 + * offset 1758 */ uint8_t fan2ExtraIdle; /** * Delay to allow fuel pressure to build before firing the priming pulse. * units: sec - * offset 1691 + * offset 1759 */ scaled_channel primingDelay; /** - * offset 1692 + * offset 1760 */ adc_channel_e auxAnalogInputs[LUA_ANALOG_INPUT_COUNT]; /** - * offset 1700 + * offset 1768 */ output_pin_e trailingCoilPins[MAX_CYLINDER_COUNT]; /** - * offset 1724 + * offset 1792 */ tle8888_mode_e tle8888mode; /** - * offset 1725 + * offset 1793 */ pin_output_mode_e accelerometerCsPinMode; /** * None = I have a MAP-referenced fuel pressure regulator * Fixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically) * Sensed rail pressure = I have a fuel pressure sensor - * offset 1726 + * offset 1794 */ injector_compensation_mode_e injectorCompensationMode; /** - * offset 1727 + * offset 1795 */ pin_output_mode_e fan2PinMode; /** * This is the pressure at which your injector flow is known. * For example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here. * units: kPa - * offset 1728 + * offset 1796 */ float fuelReferencePressure; /** * units: mult - * offset 1732 + * offset 1800 */ float postCrankingFactor[CRANKING_ENRICH_COUNT][CRANKING_ENRICH_COUNT]; /** * units: count - * offset 1876 + * offset 1944 */ float postCrankingDurationBins[CRANKING_ENRICH_COUNT]; /** * units: C - * offset 1900 + * offset 1968 */ float postCrankingCLTBins[CRANKING_ENRICH_COUNT]; /** - * offset 1924 + * offset 1992 */ ThermistorConf auxTempSensor1; /** - * offset 1956 + * offset 2024 */ ThermistorConf auxTempSensor2; /** * units: Deg - * offset 1988 + * offset 2056 */ int16_t knockSamplingDuration; /** * units: Hz - * offset 1990 + * offset 2058 */ int16_t etbFreq; /** - * offset 1992 + * offset 2060 */ pid_s etbWastegatePid; /** * For micro-stepping, make sure that PWM frequency (etbFreq) is high enough - * offset 2012 + * offset 2080 */ stepper_num_micro_steps_e stepperNumMicroSteps; /** * Use to limit the current when the stepper motor is idle, not moving (100% = no limit) * units: % - * offset 2013 + * offset 2081 */ uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) * units: % - * offset 2014 + * offset 2082 */ uint8_t stepperMaxDutyCycle; /** - * offset 2015 + * offset 2083 */ spi_device_e sdCardSpiDevice; /** * per-cylinder timing correction * units: deg - * offset 2016 + * offset 2084 */ angle_t timing_offset_cylinder[MAX_CYLINDER_COUNT]; /** * units: seconds - * offset 2064 + * offset 2132 */ float idlePidActivationTime; /** - * offset 2068 + * offset 2136 */ pin_mode_e spi1SckMode; /** * Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc. - * offset 2069 + * offset 2137 */ pin_mode_e spi1MosiMode; /** - * offset 2070 + * offset 2138 */ pin_mode_e spi1MisoMode; /** - * offset 2071 + * offset 2139 */ pin_mode_e spi2SckMode; /** - * offset 2072 + * offset 2140 */ pin_mode_e spi2MosiMode; /** - * offset 2073 + * offset 2141 */ pin_mode_e spi2MisoMode; /** - * offset 2074 + * offset 2142 */ pin_mode_e spi3SckMode; /** - * offset 2075 + * offset 2143 */ pin_mode_e spi3MosiMode; /** - * offset 2076 + * offset 2144 */ pin_mode_e spi3MisoMode; /** - * offset 2077 + * offset 2145 */ pin_output_mode_e stepperEnablePinMode; /** * ResetB - * offset 2078 + * offset 2146 */ Gpio mc33816_rstb; /** - * offset 2080 + * offset 2148 */ Gpio mc33816_driven; /** * Brake pedal switch - * offset 2082 + * offset 2150 */ switch_input_pin_e brakePedalPin; /** - * offset 2084 + * offset 2152 */ pin_input_mode_e brakePedalPinMode; /** * need 4 byte alignment * units: units - * offset 2085 + * offset 2153 */ - uint8_t alignmentFill_at_2085[3]; + uint8_t alignmentFill_at_2153[3]; /** * VVT output PID * TODO: rename to vvtPid - * offset 2088 + * offset 2156 */ pid_s auxPid[CAMS_PER_BANK]; /** - * offset 2128 + * offset 2196 */ float injectorCorrectionPolynomial[8]; /** * units: C - * offset 2160 + * offset 2228 */ int8_t primeBins[PRIME_CURVE_COUNT]; /** - * offset 2168 + * offset 2236 */ linear_sensor_s oilPressure; /** - * offset 2188 + * offset 2256 */ spi_device_e accelerometerSpiDevice; /** * need 4 byte alignment * units: units - * offset 2189 + * offset 2257 */ - uint8_t alignmentFill_at_2189[1]; + uint8_t alignmentFill_at_2257[1]; /** - * offset 2190 + * offset 2258 */ output_pin_e fan2Pin; /** * Cooling fan turn-on temperature threshold, in Celsius * units: deg C - * offset 2192 + * offset 2260 */ uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius * units: deg C - * offset 2193 + * offset 2261 */ uint8_t fan2OffTemperature; /** - * offset 2194 + * offset 2262 */ Gpio stepperEnablePin; /** - * offset 2196 + * offset 2264 */ Gpio tle8888_cs; /** - * offset 2198 + * offset 2266 */ pin_output_mode_e tle8888_csPinMode; /** * need 4 byte alignment * units: units - * offset 2199 + * offset 2267 */ - uint8_t alignmentFill_at_2199[1]; + uint8_t alignmentFill_at_2267[1]; /** - * offset 2200 + * offset 2268 */ Gpio mc33816_cs; /** * need 4 byte alignment * units: units - * offset 2202 + * offset 2270 */ - uint8_t alignmentFill_at_2202[2]; + uint8_t alignmentFill_at_2270[2]; /** * units: hz - * offset 2204 + * offset 2272 */ float auxFrequencyFilter; /** * units: RPM - * offset 2208 + * offset 2276 */ int16_t vvtControlMinRpm; /** - * offset 2210 + * offset 2278 */ sent_input_pin_e sentInputPins[SENT_INPUT_COUNT]; /** * units: % - * offset 2212 + * offset 2280 */ int8_t launchFuelAdderPercent; /** * Time required to detect a stuck throttle. * units: sec - * offset 2213 + * offset 2281 */ scaled_channel etbJamTimeout; /** * By the way ETB PID runs at 500hz, length in 1/500 of second here. - * offset 2214 + * offset 2282 */ uint16_t etbExpAverageLength; /** - * offset 2216 + * offset 2284 */ float etbDutyThreshold; /** * This sets the RPM above which fuel cut is active. * units: rpm - * offset 2220 + * offset 2288 */ int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle * units: rpm - * offset 2222 + * offset 2290 */ int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position. * units: % - * offset 2224 + * offset 2292 */ int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. * units: C - * offset 2226 + * offset 2294 */ int16_t coastingFuelCutClt; /** * Increases PID reaction for RPM stoichRatioPrimary; /** * iTerm max value - * offset 2642 + * offset 2710 */ int16_t idlerpmpid_iTermMax; /** * This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. * units: % - * offset 2644 + * offset 2712 */ float etbIdleThrottleRange; /** * Select which fuel correction bank this cylinder belongs to. Group cylinders that share the same O2 sensor - * offset 2648 + * offset 2716 */ uint8_t cylinderBankSelect[MAX_CYLINDER_COUNT]; /** * units: mg - * offset 2660 + * offset 2728 */ scaled_channel primeValues[PRIME_CURVE_COUNT]; /** * Trigger comparator center point voltage * units: V - * offset 2668 + * offset 2736 */ scaled_channel triggerCompCenterVolt; /** * Trigger comparator hysteresis voltage (Min) * units: V - * offset 2669 + * offset 2737 */ scaled_channel triggerCompHystMin; /** * Trigger comparator hysteresis voltage (Max) * units: V - * offset 2670 + * offset 2738 */ scaled_channel triggerCompHystMax; /** * VR-sensor saturation RPM * units: RPM - * offset 2671 + * offset 2739 */ scaled_channel triggerCompSensorSatRpm; /** * units: ratio - * offset 2672 + * offset 2740 */ scaled_channel tractionControlSlipBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** * units: RPM - * offset 2684 + * offset 2752 */ uint8_t tractionControlSpeedBins[TRACTION_CONTROL_ETB_DROP_SIZE]; /** - * offset 2690 + * offset 2758 */ int8_t disableFan1AtSpeed; /** - * offset 2691 + * offset 2759 */ int8_t disableFan2AtSpeed; /** - * offset 2692 + * offset 2760 */ can_vss_nbc_e canVssNbcType; /** * need 4 byte alignment * units: units - * offset 2694 + * offset 2762 */ - uint8_t alignmentFill_at_2694[2]; + uint8_t alignmentFill_at_2762[2]; /** - * offset 2696 + * offset 2764 */ gppwm_channel gppwm[GPPWM_CHANNELS]; /** * Boost Current * units: mA - * offset 3128 + * offset 3196 */ uint16_t mc33_i_boost; /** * Peak Current * units: mA - * offset 3130 + * offset 3198 */ uint16_t mc33_i_peak; /** * Hold Current * units: mA - * offset 3132 + * offset 3200 */ uint16_t mc33_i_hold; /** * Maximum allowed boost phase time. If the injector current doesn't reach the threshold before this time elapses, it is assumed that the injector is missing or has failed open circuit. * units: us - * offset 3134 + * offset 3202 */ uint16_t mc33_t_max_boost; /** * units: us - * offset 3136 + * offset 3204 */ uint16_t mc33_t_peak_off; /** * Peak phase duration * units: us - * offset 3138 + * offset 3206 */ uint16_t mc33_t_peak_tot; /** * units: us - * offset 3140 + * offset 3208 */ uint16_t mc33_t_bypass; /** * units: us - * offset 3142 + * offset 3210 */ uint16_t mc33_t_hold_off; /** * Hold phase duration * units: us - * offset 3144 + * offset 3212 */ uint16_t mc33_t_hold_tot; /** - * offset 3146 + * offset 3214 */ pin_input_mode_e tcuUpshiftButtonPinMode; /** - * offset 3147 + * offset 3215 */ pin_input_mode_e tcuDownshiftButtonPinMode; /** - * offset 3148 + * offset 3216 */ pin_input_mode_e acSwitchMode; /** - * offset 3149 + * offset 3217 */ pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** * Knock sensor output knock detection threshold depending on current RPM. * units: dB - * offset 3155 + * offset 3223 */ scaled_channel knockBaseNoise[ENGINE_NOISE_CURVE_SIZE]; /** * need 4 byte alignment * units: units - * offset 3171 + * offset 3239 */ - uint8_t alignmentFill_at_3171[1]; + uint8_t alignmentFill_at_3239[1]; /** * units: ratio - * offset 3172 + * offset 3240 */ float triggerGapOverrideFrom[GAP_TRACKING_LENGTH]; /** * units: ratio - * offset 3244 + * offset 3312 */ float triggerGapOverrideTo[GAP_TRACKING_LENGTH]; /** * Below this RPM, use camshaft information to synchronize the crank's position for full sequential operation. Use this if your cam sensor does weird things at high RPM. Set to 0 to disable, and always use cam to help sync crank. * units: rpm - * offset 3316 + * offset 3384 */ scaled_channel maxCamPhaseResolveRpm; /** * Delay before cutting fuel. Set to 0 to cut immediately with no delay. May cause rumbles and pops out of your exhaust... * units: sec - * offset 3317 + * offset 3385 */ scaled_channel dfcoDelay; /** * Delay before engaging the AC compressor. Set to 0 to engage immediately with no delay. Use this to prevent bogging at idle when AC engages. * units: sec - * offset 3318 + * offset 3386 */ scaled_channel acDelay; /** * need 4 byte alignment * units: units - * offset 3319 + * offset 3387 */ - uint8_t alignmentFill_at_3319[1]; + uint8_t alignmentFill_at_3387[1]; /** * units: mg - * offset 3320 + * offset 3388 */ scaled_channel fordInjectorSmallPulseBreakPoint; /** * units: multiplier - * offset 3322 + * offset 3390 */ scaled_channel tpsTspCorrValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: % - * offset 3326 + * offset 3394 */ uint8_t etbJamIntegratorLimit; /** * units: lobes/cam - * offset 3327 + * offset 3395 */ uint8_t hpfpCamLobes; /** - * offset 3328 + * offset 3396 */ hpfp_cam_e hpfpCam; /** - * offset 3329 + * offset 3397 */ uint8_t auxiliarySetting1; /** * If the requested activation time is below this angle, don't bother running the pump * units: deg - * offset 3330 + * offset 3398 */ uint8_t hpfpMinAngle; /** * need 4 byte alignment * units: units - * offset 3331 + * offset 3399 */ - uint8_t alignmentFill_at_3331[1]; + uint8_t alignmentFill_at_3399[1]; /** * Size of the pump chamber in cc. Typical Bosch HDP5 has a 9.0mm diameter, typical BMW N* stroke is 4.4mm. * units: cc - * offset 3332 + * offset 3400 */ scaled_channel hpfpPumpVolume; /** * How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own) * units: deg - * offset 3334 + * offset 3402 */ uint8_t hpfpActivationAngle; /** - * offset 3335 + * offset 3403 */ uint8_t issFilterReciprocal; /** * units: %/kPa - * offset 3336 + * offset 3404 */ scaled_channel hpfpPidP; /** * units: %/kPa/lobe - * offset 3338 + * offset 3406 */ scaled_channel hpfpPidI; /** * The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel. * units: kPa/s - * offset 3340 + * offset 3408 */ uint16_t hpfpTargetDecay; /** * units: % - * offset 3342 + * offset 3410 */ scaled_channel hpfpLobeProfileQuantityBins[HPFP_LOBE_PROFILE_SIZE]; /** * units: deg - * offset 3358 + * offset 3426 */ scaled_channel hpfpLobeProfileAngle[HPFP_LOBE_PROFILE_SIZE]; /** * units: volts - * offset 3374 + * offset 3442 */ uint8_t hpfpDeadtimeVoltsBins[HPFP_DEADTIME_SIZE]; /** * units: ms - * offset 3382 + * offset 3450 */ scaled_channel hpfpDeadtimeMS[HPFP_DEADTIME_SIZE]; /** * units: kPa - * offset 3398 + * offset 3466 */ uint16_t hpfpTarget[HPFP_TARGET_SIZE][HPFP_TARGET_SIZE]; /** * units: load - * offset 3598 + * offset 3666 */ scaled_channel hpfpTargetLoadBins[HPFP_TARGET_SIZE]; /** * units: RPM - * offset 3618 + * offset 3686 */ scaled_channel hpfpTargetRpmBins[HPFP_TARGET_SIZE]; /** * units: % - * offset 3628 + * offset 3696 */ int8_t hpfpCompensation[HPFP_COMPENSATION_SIZE][HPFP_COMPENSATION_SIZE]; /** * units: cc/lobe - * offset 3728 + * offset 3796 */ scaled_channel hpfpCompensationLoadBins[HPFP_COMPENSATION_SIZE]; /** * units: RPM - * offset 3748 + * offset 3816 */ scaled_channel hpfpCompensationRpmBins[HPFP_COMPENSATION_SIZE]; /** - * offset 3758 + * offset 3826 */ output_pin_e stepper_raw_output[4]; /** * units: ratio - * offset 3766 + * offset 3834 */ scaled_channel gearRatio[TCU_GEAR_COUNT]; /** * We need to give engine time to build oil pressure without diverting it to VVT * units: ms - * offset 3786 + * offset 3854 */ uint16_t vvtActivationDelayMs; /** * units: deg C - * offset 3788 + * offset 3856 */ int8_t wwCltBins[WWAE_TABLE_SIZE]; /** - * offset 3796 + * offset 3864 */ scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; /** - * offset 3804 + * offset 3872 */ scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; /** * units: kPa - * offset 3812 + * offset 3880 */ int8_t wwMapBins[WWAE_TABLE_SIZE]; /** - * offset 3820 + * offset 3888 */ scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; /** - * offset 3828 + * offset 3896 */ scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** * units: Nm - * offset 3836 + * offset 3904 */ scaled_channel torqueTable[TORQUE_CURVE_SIZE][TORQUE_CURVE_SIZE]; /** * units: RPM - * offset 3872 + * offset 3940 */ uint16_t torqueRpmBins[TORQUE_CURVE_SIZE]; /** * units: Load - * offset 3884 + * offset 3952 */ uint16_t torqueLoadBins[TORQUE_CURVE_SIZE]; /** - * offset 3896 + * offset 3964 */ GearControllerMode gearControllerMode; /** - * offset 3897 + * offset 3965 */ TransmissionControllerMode transmissionControllerMode; /** * units: deg - * offset 3898 + * offset 3966 */ uint16_t acrDisablePhase; /** - * offset 3900 + * offset 3968 */ linear_sensor_s auxLinear1; /** - * offset 3920 + * offset 3988 */ linear_sensor_s auxLinear2; /** - * offset 3940 + * offset 4008 */ output_pin_e tcu_tcc_onoff_solenoid; /** - * offset 3942 + * offset 4010 */ pin_output_mode_e tcu_tcc_onoff_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3943 + * offset 4011 */ - uint8_t alignmentFill_at_3943[1]; + uint8_t alignmentFill_at_4011[1]; /** - * offset 3944 + * offset 4012 */ output_pin_e tcu_tcc_pwm_solenoid; /** - * offset 3946 + * offset 4014 */ pin_output_mode_e tcu_tcc_pwm_solenoid_mode; /** * need 4 byte alignment * units: units - * offset 3947 + * offset 4015 */ - uint8_t alignmentFill_at_3947[1]; + uint8_t alignmentFill_at_4015[1]; /** - * offset 3948 + * offset 4016 */ pwm_freq_t tcu_tcc_pwm_solenoid_freq; /** - * offset 3950 + * offset 4018 */ output_pin_e tcu_pc_solenoid_pin; /** - * offset 3952 + * offset 4020 */ pin_output_mode_e tcu_pc_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3953 + * offset 4021 */ - uint8_t alignmentFill_at_3953[1]; + uint8_t alignmentFill_at_4021[1]; /** - * offset 3954 + * offset 4022 */ pwm_freq_t tcu_pc_solenoid_freq; /** - * offset 3956 + * offset 4024 */ output_pin_e tcu_32_solenoid_pin; /** - * offset 3958 + * offset 4026 */ pin_output_mode_e tcu_32_solenoid_pin_mode; /** * need 4 byte alignment * units: units - * offset 3959 + * offset 4027 */ - uint8_t alignmentFill_at_3959[1]; + uint8_t alignmentFill_at_4027[1]; /** - * offset 3960 + * offset 4028 */ pwm_freq_t tcu_32_solenoid_freq; /** - * offset 3962 + * offset 4030 */ output_pin_e acrPin2; /** * units: % - * offset 3964 + * offset 4032 */ float etbMinimumPosition; /** - * offset 3968 + * offset 4036 */ uint16_t tuneHidingKey; /** - * offset 3970 + * offset 4038 */ vin_number_t vinNumber; /** * need 4 byte alignment * units: units - * offset 3987 + * offset 4055 */ - uint8_t alignmentFill_at_3987[1]; + uint8_t alignmentFill_at_4055[1]; /** - * offset 3988 + * offset 4056 */ uint16_t highSpeedOffsets[HIGH_SPEED_COUNT]; /** - * offset 4052 + * offset 4120 */ float etbDutyShutdownThreshold; /** - * offset 4056 + * offset 4124 */ fuel_pressure_sensor_mode_e fuelPressureSensorMode; /** * need 4 byte alignment * units: units - * offset 4057 + * offset 4125 */ - uint8_t alignmentFill_at_4057[1]; + uint8_t alignmentFill_at_4125[1]; /** - * offset 4058 + * offset 4126 */ switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]; /** * units: RPM - * offset 4074 + * offset 4142 */ scaled_channel tpsTspCorrValuesBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]; /** * units: rpm - * offset 4078 + * offset 4146 */ int16_t ALSMinRPM; /** * units: rpm - * offset 4080 + * offset 4148 */ int16_t ALSMaxRPM; /** * units: sec - * offset 4082 + * offset 4150 */ int16_t ALSMaxDuration; /** * units: C - * offset 4084 + * offset 4152 */ int8_t ALSMinCLT; /** * units: C - * offset 4085 + * offset 4153 */ int8_t ALSMaxCLT; /** - * offset 4086 + * offset 4154 */ uint8_t alsMinTimeBetween; /** - * offset 4087 + * offset 4155 */ uint8_t alsEtbPosition; /** * units: % - * offset 4088 + * offset 4156 */ uint8_t acRelayAlternatorDutyAdder; /** - * offset 4089 + * offset 4157 */ SentEtbType sentEtbType; /** - * offset 4090 + * offset 4158 */ uint16_t customSentTpsMin; /** * units: % - * offset 4092 + * offset 4160 */ int ALSIdleAdd; /** * units: % - * offset 4096 + * offset 4164 */ int ALSEtbAdd; /** - * offset 4100 + * offset 4168 */ float ALSSkipRatio; /** * units: % - * offset 4104 + * offset 4172 */ uint8_t ALSMaxDriverThrottleIntent; /** - * offset 4105 + * offset 4173 */ pin_input_mode_e ALSActivatePinMode; /** * For Ford TPS, use 53%. For Toyota ETCS-i, use ~65% * units: % - * offset 4106 + * offset 4174 */ scaled_channel tpsSecondaryMaximum; /** * For Toyota ETCS-i, use ~69% * units: % - * offset 4107 + * offset 4175 */ scaled_channel ppsSecondaryMaximum; /** - * offset 4108 + * offset 4176 */ pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]; /** - * offset 4116 + * offset 4184 */ uint16_t customSentTpsMax; /** - * offset 4118 + * offset 4186 */ uint16_t kLineBaudRate; /** - * offset 4120 + * offset 4188 */ CanGpioType canGpioType; /** - * offset 4121 + * offset 4189 */ UiMode uiMode; /** * Crank angle ATDC of first lobe peak * units: deg - * offset 4122 + * offset 4190 */ int16_t hpfpPeakPos; /** * units: us - * offset 4124 + * offset 4192 */ int16_t kLinePeriodUs; /** * Window that the correction will be added throughout (example, if rpm limit is 7000, and rpmSoftLimitWindowSize is 200, the corrections activate at 6800RPM, creating a 200rpm window) * units: RPM - * offset 4126 + * offset 4194 */ scaled_channel rpmSoftLimitWindowSize; /** * Degrees of timing REMOVED from actual timing during soft RPM limit window * units: deg - * offset 4127 + * offset 4195 */ scaled_channel rpmSoftLimitTimingRetard; /** * % of fuel ADDED during window * units: % - * offset 4128 + * offset 4196 */ scaled_channel rpmSoftLimitFuelAdded; /** * Hysterisis: if the hard limit is 7200rpm and rpmHardLimitHyst is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached * units: RPM - * offset 4129 + * offset 4197 */ scaled_channel rpmHardLimitHyst; /** * Time between bench test pulses * units: ms - * offset 4130 + * offset 4198 */ scaled_channel benchTestOffTime; /** * Hysterisis: if hard cut is 240kpa, and boostCutPressureHyst is 20, when the ECU sees 240kpa, fuel/ign will cut, and stay cut until 240-20=220kpa is reached * units: kPa (absolute) - * offset 4132 + * offset 4200 */ scaled_channel boostCutPressureHyst; /** * Boost duty cycle added by gear * units: % - * offset 4133 + * offset 4201 */ scaled_channel gearBasedOpenLoopBoostAdder[TCU_GEAR_COUNT]; /** * need 4 byte alignment * units: units - * offset 4143 + * offset 4211 */ - uint8_t alignmentFill_at_4143[1]; + uint8_t alignmentFill_at_4211[1]; /** * How many test bench pulses do you want - * offset 4144 + * offset 4212 */ uint32_t benchTestCount; /** * How long initial IAC adder is held before starting to decay. * units: seconds - * offset 4148 + * offset 4216 */ scaled_channel iacByTpsHoldTime; /** * How long it takes to remove initial IAC adder to return to normal idle. * units: seconds - * offset 4149 + * offset 4217 */ scaled_channel iacByTpsDecayTime; /** - * offset 4150 + * offset 4218 */ switch_input_pin_e tcu_rangeInput[RANGE_INPUT_COUNT]; /** - * offset 4162 + * offset 4230 */ pin_input_mode_e tcu_rangeInputMode[RANGE_INPUT_COUNT]; /** * Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. * units: ratio - * offset 4168 + * offset 4236 */ scaled_channel canVssScaling; /** * need 4 byte alignment * units: units - * offset 4170 + * offset 4238 */ - uint8_t alignmentFill_at_4170[2]; + uint8_t alignmentFill_at_4238[2]; /** - * offset 4172 + * offset 4240 */ ThermistorConf oilTempSensor; /** - * offset 4204 + * offset 4272 */ ThermistorConf fuelTempSensor; /** - * offset 4236 + * offset 4304 */ ThermistorConf ambientTempSensor; /** - * offset 4268 + * offset 4336 */ 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 4300 + * offset 4368 */ 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 4301 + * offset 4369 */ adc_channel_e compressorDischargePressureChannel; /** - * offset 4302 + * offset 4370 */ Gpio dacOutputPins[DAC_OUTPUT_COUNT]; /** - * offset 4306 + * offset 4374 */ output_pin_e speedometerOutputPin; /** * Number of speedometer pulses per kilometer travelled. - * offset 4308 + * offset 4376 */ uint16_t speedometerPulsePerKm; /** - * offset 4310 + * offset 4378 */ uint8_t simulatorCamPosition[CAM_INPUTS_COUNT]; /** - * offset 4314 + * offset 4382 */ adc_channel_e ignKeyAdcChannel; /** - * offset 4315 + * offset 4383 */ uint8_t unusedExplicitFilling2; /** * units: ratio - * offset 4316 + * offset 4384 */ float triggerVVTGapOverrideFrom[VVT_TRACKING_LENGTH]; /** * units: ratio - * offset 4332 + * offset 4400 */ float triggerVVTGapOverrideTo[VVT_TRACKING_LENGTH]; /** * units: % - * offset 4348 + * offset 4416 */ int8_t tractionControlEtbDrop[TRACTION_CONTROL_ETB_DROP_SIZE][TRACTION_CONTROL_ETB_DROP_SIZE]; /** * If injector duty cycle hits this value, instantly cut fuel. * units: % - * offset 4384 + * offset 4452 */ uint8_t maxInjectorDutyInstant; /** * If injector duty cycle hits this value for the specified delay time, cut fuel. * units: % - * offset 4385 + * offset 4453 */ uint8_t maxInjectorDutySustained; /** * Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. * units: sec - * offset 4386 + * offset 4454 */ scaled_channel maxInjectorDutySustainedTimeout; /** * need 4 byte alignment * units: units - * offset 4387 + * offset 4455 */ - uint8_t alignmentFill_at_4387[1]; + uint8_t alignmentFill_at_4455[1]; /** - * offset 4388 + * offset 4456 */ output_pin_e injectionPinsStage2[MAX_CYLINDER_COUNT]; /** * units: units - * offset 4412 + * offset 4480 */ uint8_t mainUnusedEnd[168]; }; -static_assert(sizeof(engine_configuration_s) == 4580); +static_assert(sizeof(engine_configuration_s) == 4648); // start of cyl_trim_s struct cyl_trim_s { @@ -4678,324 +4682,324 @@ struct persistent_config_s { * target TPS value, 0 to 100% * TODO: use int8 data date once we template interpolation method * units: target TPS position - * offset 4580 + * offset 4648 */ float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; /** * PWM bias, 0 to 100% * units: ETB duty cycle bias - * offset 4612 + * offset 4680 */ float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; /** * units: % - * offset 4644 + * offset 4712 */ scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; /** * units: Load - * offset 4708 + * offset 4776 */ uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; /** * units: RPM - * offset 4716 + * offset 4784 */ scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM * units: RPM - * offset 4724 + * offset 4792 */ uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; /** * units: ms - * offset 4740 + * offset 4808 */ scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; /** * CLT-based target RPM for automatic idle controller * units: C - * offset 4756 + * offset 4824 */ scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; /** * See idleRpmPid * units: RPM - * offset 4772 + * offset 4840 */ scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; /** * CLT-based timing correction * units: C - * offset 4788 + * offset 4856 */ float cltTimingBins[CLT_TIMING_CURVE_SIZE]; /** * units: degree - * offset 4820 + * offset 4888 */ float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; /** * units: x - * offset 4852 + * offset 4920 */ float scriptCurve1Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 4916 + * offset 4984 */ float scriptCurve1[SCRIPT_CURVE_16]; /** * units: x - * offset 4980 + * offset 5048 */ float scriptCurve2Bins[SCRIPT_CURVE_16]; /** * units: y - * offset 5044 + * offset 5112 */ float scriptCurve2[SCRIPT_CURVE_16]; /** * units: x - * offset 5108 + * offset 5176 */ float scriptCurve3Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5140 + * offset 5208 */ float scriptCurve3[SCRIPT_CURVE_8]; /** * units: x - * offset 5172 + * offset 5240 */ float scriptCurve4Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5204 + * offset 5272 */ float scriptCurve4[SCRIPT_CURVE_8]; /** * units: x - * offset 5236 + * offset 5304 */ float scriptCurve5Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5268 + * offset 5336 */ float scriptCurve5[SCRIPT_CURVE_8]; /** * units: x - * offset 5300 + * offset 5368 */ float scriptCurve6Bins[SCRIPT_CURVE_8]; /** * units: y - * offset 5332 + * offset 5400 */ float scriptCurve6[SCRIPT_CURVE_8]; /** * units: kPa - * offset 5364 + * offset 5432 */ float baroCorrPressureBins[BARO_CORR_SIZE]; /** * units: RPM - * offset 5380 + * offset 5448 */ float baroCorrRpmBins[BARO_CORR_SIZE]; /** * units: ratio - * offset 5396 + * offset 5464 */ float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; /** * Cranking fuel correction coefficient based on TPS * units: Ratio - * offset 5460 + * offset 5528 */ float crankingTpsCoef[CRANKING_CURVE_SIZE]; /** * units: % - * offset 5492 + * offset 5560 */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: RPM - * offset 5524 + * offset 5592 */ uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * units: deg - * offset 5532 + * offset 5600 */ scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: RPM - * offset 5540 + * offset 5608 */ scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; /** * RPM-based idle position for coasting * units: % - * offset 5556 + * offset 5624 */ scaled_channel iacCoasting[CLT_CURVE_SIZE]; /** - * offset 5572 + * offset 5640 */ warning_message_t warning_message; /** * units: C - * offset 5692 + * offset 5760 */ float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: Seconds - * offset 5724 + * offset 5792 */ float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; /** * units: % - * offset 5756 + * offset 5824 */ float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; /** * units: Seconds - * offset 5788 + * offset 5856 */ float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; /** - * offset 5820 + * offset 5888 */ scaled_channel boostTableOpenLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: RPM - * offset 5884 + * offset 5952 */ scaled_channel boostRpmBins[BOOST_RPM_COUNT]; /** - * offset 5892 + * offset 5960 */ scaled_channel boostTableClosedLoop[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; /** * units: % - * offset 5956 + * offset 6024 */ uint8_t boostTpsBins[BOOST_LOAD_COUNT]; /** * units: % - * offset 5964 + * offset 6032 */ uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; /** * units: % - * offset 6028 + * offset 6096 */ uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; /** * units: RPM - * offset 6036 + * offset 6104 */ scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: C - * offset 6044 + * offset 6112 */ float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; /** * CLT-based cranking position multiplier for simple manual idle controller * units: % - * offset 6076 + * offset 6144 */ float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: RPM - * offset 6108 + * offset 6176 */ scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * units: deg - * offset 6116 + * offset 6184 */ float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * units: RPM - * offset 6148 + * offset 6216 */ scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; /** * units: load - * offset 6152 + * offset 6220 */ uint8_t idleVeLoadBins[IDLE_VE_SIZE]; /** * units: % - * offset 6156 + * offset 6224 */ scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; /** - * offset 6188 + * offset 6256 */ lua_script_t luaScript; /** * units: C - * offset 14188 + * offset 14256 */ float cltFuelCorrBins[CLT_CURVE_SIZE]; /** * units: ratio - * offset 14252 + * offset 14320 */ float cltFuelCorr[CLT_CURVE_SIZE]; /** * units: C - * offset 14316 + * offset 14384 */ float iatFuelCorrBins[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14380 + * offset 14448 */ float iatFuelCorr[IAT_CURVE_SIZE]; /** * units: ratio - * offset 14444 + * offset 14512 */ float crankingFuelCoef[CRANKING_CURVE_SIZE]; /** * units: C - * offset 14476 + * offset 14544 */ float crankingFuelBins[CRANKING_CURVE_SIZE]; /** * units: ratio - * offset 14508 + * offset 14576 */ float crankingCycleCoef[CRANKING_CURVE_SIZE]; /** * units: counter - * offset 14540 + * offset 14608 */ float crankingCycleBins[CRANKING_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: C - * offset 14572 + * offset 14640 */ float cltIdleCorrBins[CLT_CURVE_SIZE]; /** * CLT-based idle position multiplier for simple manual idle controller * units: ratio - * offset 14636 + * offset 14704 */ float cltIdleCorr[CLT_CURVE_SIZE]; /** @@ -5003,527 +5007,527 @@ struct persistent_config_s { * kg/hour value. * By the way 2.081989116 kg/h = 1 ft3/m * units: kg/hour - * offset 14700 + * offset 14768 */ float mafDecoding[MAF_DECODING_COUNT]; /** * units: V - * offset 14828 + * offset 14896 */ float mafDecodingBins[MAF_DECODING_COUNT]; /** * units: deg - * offset 14956 + * offset 15024 */ scaled_channel ignitionIatCorrTable[8][8]; /** * units: C - * offset 15020 + * offset 15088 */ int8_t ignitionIatCorrTempBins[8]; /** * units: Load - * offset 15028 + * offset 15096 */ scaled_channel ignitionIatCorrLoadBins[8]; /** * units: deg - * offset 15036 + * offset 15104 */ int16_t injectionPhase[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: Load - * offset 15548 + * offset 15616 */ uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 15580 + * offset 15648 */ uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; /** * units: onoff - * offset 15612 + * offset 15680 */ uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; /** * units: kPa - * offset 15672 + * offset 15740 */ scaled_channel mapEstimateTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: % TPS - * offset 16184 + * offset 16252 */ scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 16216 + * offset 16284 */ uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 16248 + * offset 16316 */ int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16312 + * offset 16380 */ uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16328 + * offset 16396 */ uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 16344 + * offset 16412 */ int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 16408 + * offset 16476 */ uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 16424 + * offset 16492 */ uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; /** * units: deg - * offset 16440 + * offset 16508 */ scaled_channel ignitionTable[IGN_LOAD_COUNT][IGN_RPM_COUNT]; /** * units: Load - * offset 16952 + * offset 17020 */ uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; /** * units: RPM - * offset 16984 + * offset 17052 */ uint16_t ignitionRpmBins[IGN_RPM_COUNT]; /** * units: % - * offset 17016 + * offset 17084 */ scaled_channel veTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** * units: kPa - * offset 17528 + * offset 17596 */ uint16_t veLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17560 + * offset 17628 */ uint16_t veRpmBins[FUEL_RPM_COUNT]; /** * units: lambda - * offset 17592 + * offset 17660 */ scaled_channel lambdaTable[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; /** - * offset 17848 + * offset 17916 */ uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; /** * units: RPM - * offset 17880 + * offset 17948 */ uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; /** * units: value - * offset 17912 + * offset 17980 */ float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; /** * units: from - * offset 18168 + * offset 18236 */ float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: to - * offset 18200 + * offset 18268 */ float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; /** * units: value - * offset 18232 + * offset 18300 */ float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18488 + * offset 18556 */ int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18504 + * offset 18572 */ int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18520 + * offset 18588 */ uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18584 + * offset 18652 */ int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18600 + * offset 18668 */ int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18616 + * offset 18684 */ uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; /** * units: L - * offset 18680 + * offset 18748 */ int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18696 + * offset 18764 */ int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; /** * units: value - * offset 18712 + * offset 18780 */ uint8_t scriptTable4[SCRIPT_TABLE_8][TABLE_4_RPM]; /** * units: L - * offset 18792 + * offset 18860 */ int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; /** * units: RPM - * offset 18808 + * offset 18876 */ int16_t scriptTable4RpmBins[TABLE_4_RPM]; /** - * offset 18828 + * offset 18896 */ uint16_t ignTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 18836 + * offset 18904 */ uint16_t ignTrimRpmBins[TRIM_SIZE]; /** - * offset 18844 + * offset 18912 */ cyl_trim_s ignTrims[12]; /** - * offset 19036 + * offset 19104 */ uint16_t fuelTrimLoadBins[TRIM_SIZE]; /** * units: rpm - * offset 19044 + * offset 19112 */ uint16_t fuelTrimRpmBins[TRIM_SIZE]; /** - * offset 19052 + * offset 19120 */ cyl_trim_s fuelTrims[12]; /** * units: ratio - * offset 19244 + * offset 19312 */ scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; /** * units: Airmass - * offset 19260 + * offset 19328 */ scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; /** * units: % - * offset 19268 + * offset 19336 */ uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; /** * units: % - * offset 19276 + * offset 19344 */ uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; /** * units: % - * offset 19284 + * offset 19352 */ uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; /** * units: % - * offset 19292 + * offset 19360 */ uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; /** * units: % - * offset 19300 + * offset 19368 */ uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; /** * units: % - * offset 19308 + * offset 19376 */ uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; /** * units: % - * offset 19316 + * offset 19384 */ uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; /** * units: % - * offset 19324 + * offset 19392 */ uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; /** * units: % - * offset 19332 + * offset 19400 */ uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; /** * units: % - * offset 19340 + * offset 19408 */ uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; /** * units: % - * offset 19348 + * offset 19416 */ uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; /** * units: % - * offset 19356 + * offset 19424 */ uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; /** * units: TPS - * offset 19364 + * offset 19432 */ uint8_t tcu_tccTpsBins[8]; /** * units: MPH - * offset 19372 + * offset 19440 */ uint8_t tcu_tccLockSpeed[8]; /** * units: MPH - * offset 19380 + * offset 19448 */ uint8_t tcu_tccUnlockSpeed[8]; /** * units: KPH - * offset 19388 + * offset 19456 */ uint8_t tcu_32SpeedBins[8]; /** * units: % - * offset 19396 + * offset 19464 */ uint8_t tcu_32Vals[8]; /** * units: % - * offset 19404 + * offset 19472 */ scaled_channel throttle2TrimTable[ETB2_TRIM_SIZE][ETB2_TRIM_SIZE]; /** * units: % - * offset 19440 + * offset 19508 */ uint8_t throttle2TrimTpsBins[ETB2_TRIM_SIZE]; /** * units: RPM - * offset 19446 + * offset 19514 */ scaled_channel throttle2TrimRpmBins[ETB2_TRIM_SIZE]; /** * units: deg - * offset 19452 + * offset 19520 */ scaled_channel maxKnockRetardTable[6][6]; /** * units: % - * offset 19488 + * offset 19556 */ uint8_t maxKnockRetardLoadBins[6]; /** * units: RPM - * offset 19494 + * offset 19562 */ scaled_channel maxKnockRetardRpmBins[6]; /** * units: deg - * offset 19500 + * offset 19568 */ scaled_channel ALSTimingRetardTable[4][4]; /** * units: TPS - * offset 19532 + * offset 19600 */ uint16_t alsIgnRetardLoadBins[4]; /** * units: RPM - * offset 19540 + * offset 19608 */ uint16_t alsIgnRetardrpmBins[4]; /** * units: percent - * offset 19548 + * offset 19616 */ scaled_channel ALSFuelAdjustment[4][4]; /** * units: TPS - * offset 19580 + * offset 19648 */ uint16_t alsFuelAdjustmentLoadBins[4]; /** * units: RPM - * offset 19588 + * offset 19656 */ uint16_t alsFuelAdjustmentrpmBins[4]; /** * units: ratio - * offset 19596 + * offset 19664 */ scaled_channel ALSIgnSkipTable[4][4]; /** * units: TPS - * offset 19628 + * offset 19696 */ uint16_t alsIgnSkipLoadBins[4]; /** * units: RPM - * offset 19636 + * offset 19704 */ uint16_t alsIgnSkiprpmBins[4]; /** - * offset 19644 + * offset 19712 */ blend_table_s ignBlends[IGN_BLEND_COUNT]; /** - * offset 20396 + * offset 20464 */ blend_table_s veBlends[VE_BLEND_COUNT]; /** * units: % - * offset 21148 + * offset 21216 */ scaled_channel throttleEstimateEffectiveAreaBins[12]; /** * In units of g/s normalized to choked flow conditions * units: g/s - * offset 21172 + * offset 21240 */ scaled_channel throttleEstimateEffectiveAreaValues[12]; /** - * offset 21196 + * offset 21264 */ blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; /** - * offset 21572 + * offset 21640 */ blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; /** * units: level - * offset 21948 + * offset 22016 */ uint8_t tcu_rangeP[6]; /** * units: level - * offset 21954 + * offset 22022 */ uint8_t tcu_rangeR[6]; /** * units: level - * offset 21960 + * offset 22028 */ uint8_t tcu_rangeN[6]; /** * units: level - * offset 21966 + * offset 22034 */ uint8_t tcu_rangeD[6]; /** * units: level - * offset 21972 + * offset 22040 */ uint8_t tcu_rangeM[6]; /** * units: level - * offset 21978 + * offset 22046 */ uint8_t tcu_rangeM3[6]; /** * units: level - * offset 21984 + * offset 22052 */ uint8_t tcu_rangeM2[6]; /** * units: level - * offset 21990 + * offset 22058 */ uint8_t tcu_rangeM1[6]; /** * units: level - * offset 21996 + * offset 22064 */ uint8_t tcu_rangePlus[6]; /** * units: level - * offset 22002 + * offset 22070 */ uint8_t tcu_rangeMinus[6]; /** * units: level - * offset 22008 + * offset 22076 */ uint8_t tcu_rangeLow[6]; /** * units: lambda - * offset 22014 + * offset 22082 */ scaled_channel lambdaMaxDeviationTable[4][4]; /** - * offset 22030 + * offset 22098 */ uint16_t lambdaMaxDeviationLoadBins[4]; /** * units: RPM - * offset 22038 + * offset 22106 */ uint16_t lambdaMaxDeviationRpmBins[4]; /** * units: % - * offset 22046 + * offset 22114 */ uint8_t injectorStagingTable[INJ_STAGING_COUNT][INJ_STAGING_COUNT]; /** - * offset 22082 + * offset 22150 */ uint16_t injectorStagingLoadBins[INJ_STAGING_COUNT]; /** * units: RPM - * offset 22094 + * offset 22162 */ uint16_t injectorStagingRpmBins[INJ_STAGING_COUNT]; /** * need 4 byte alignment * units: units - * offset 22106 + * offset 22174 */ - uint8_t alignmentFill_at_22106[2]; + uint8_t alignmentFill_at_22174[2]; }; -static_assert(sizeof(persistent_config_s) == 22108); +static_assert(sizeof(persistent_config_s) == 22176); // end -// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Sun Jan 14 02:35:20 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:40 UTC 2024 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-2chan.h b/firmware/controllers/generated/rusefi_generated_alphax-2chan.h index 679e973bda..0bf09b97e4 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-2chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-2chan.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3477810256 +#define SIGNATURE_HASH 1592174859 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 false #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins false -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-2chan.3477810256" +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-2chan.1592174859" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_alphax-4chan.h b/firmware/controllers/generated/rusefi_generated_alphax-4chan.h index 470ff0d1fa..a6380b80ca 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4chan.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1078,7 +1078,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1160,7 +1160,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2887664296 +#define SIGNATURE_HASH 1035192307 #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" @@ -1210,7 +1210,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1478,7 +1478,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins false -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan.2887664296" +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan.1035192307" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h b/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h index 794d1ab692..2c832d945e 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1078,7 +1078,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1160,7 +1160,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2887664296 +#define SIGNATURE_HASH 1035192307 #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" @@ -1210,7 +1210,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1478,7 +1478,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins false -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan_f7.2887664296" +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan_f7.1035192307" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h b/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h index 5660d741c6..87712cb193 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 4269385295 +#define SIGNATURE_HASH 1876173588 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan-revA.4269385295" +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan-revA.1876173588" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_alphax-8chan.h b/firmware/controllers/generated/rusefi_generated_alphax-8chan.h index c0f497f107..57358b5d4e 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan.h @@ -308,7 +308,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 4596 +#define engine_configuration_s_size 4664 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22124 +#define persistent_config_s_size 22192 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2710992304 +#define SIGNATURE_HASH 809234667 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22124 +#define TOTAL_CONFIG_SIZE 22192 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan.2710992304" +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan.809234667" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h b/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h index 0499a4ee1a..57add796e3 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h @@ -308,7 +308,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 4596 +#define engine_configuration_s_size 4664 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22124 +#define persistent_config_s_size 22192 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2710992304 +#define SIGNATURE_HASH 809234667 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22124 +#define TOTAL_CONFIG_SIZE 22192 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan_f7.2710992304" +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan_f7.809234667" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_at_start_f435.h b/firmware/controllers/generated/rusefi_generated_at_start_f435.h index a82cad98ee..523e25a5ea 100644 --- a/firmware/controllers/generated/rusefi_generated_at_start_f435.h +++ b/firmware/controllers/generated/rusefi_generated_at_start_f435.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.at_start_f435.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.at_start_f435.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_atlas.h b/firmware/controllers/generated/rusefi_generated_atlas.h index efb6a37074..6f726339f1 100644 --- a/firmware/controllers/generated/rusefi_generated_atlas.h +++ b/firmware/controllers/generated/rusefi_generated_atlas.h @@ -308,7 +308,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 4420 +#define engine_configuration_s_size 4488 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 21608 +#define persistent_config_s_size 21676 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 4214836249 +#define SIGNATURE_HASH 1788135746 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 21608 +#define TOTAL_CONFIG_SIZE 21676 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.atlas.4214836249" +#define TS_SIGNATURE "rusEFI master.2024.01.17.atlas.1788135746" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_f407-discovery.h b/firmware/controllers/generated/rusefi_generated_f407-discovery.h index d077174a68..04616a00ce 100644 --- a/firmware/controllers/generated/rusefi_generated_f407-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f407-discovery.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets true -#define SIGNATURE_HASH 1562927191 +#define SIGNATURE_HASH 3431326988 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.f407-discovery.1562927191" +#define TS_SIGNATURE "rusEFI master.2024.01.17.f407-discovery.3431326988" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_f429-discovery.h b/firmware/controllers/generated/rusefi_generated_f429-discovery.h index 06cbdabb70..3a1431f459 100644 --- a/firmware/controllers/generated/rusefi_generated_f429-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f429-discovery.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.f429-discovery.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.f429-discovery.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_f469-discovery.h b/firmware/controllers/generated/rusefi_generated_f469-discovery.h index cc6d46d81e..36a745239f 100644 --- a/firmware/controllers/generated/rusefi_generated_f469-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f469-discovery.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2380897988 +#define SIGNATURE_HASH 474225567 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.f469-discovery.2380897988" +#define TS_SIGNATURE "rusEFI master.2024.01.17.f469-discovery.474225567" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_frankenso_na6.h b/firmware/controllers/generated/rusefi_generated_frankenso_na6.h index 8bef0d1db4..fbda01c429 100644 --- a/firmware/controllers/generated/rusefi_generated_frankenso_na6.h +++ b/firmware/controllers/generated/rusefi_generated_frankenso_na6.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets true -#define SIGNATURE_HASH 4006161532 +#define SIGNATURE_HASH 2137303335 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.frankenso_na6.4006161532" +#define TS_SIGNATURE "rusEFI master.2024.01.17.frankenso_na6.2137303335" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen-112-17.h b/firmware/controllers/generated/rusefi_generated_hellen-112-17.h index 08c4a0986a..6ddfc871b9 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-112-17.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-112-17.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 1982276257 +#define SIGNATURE_HASH 3884623866 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all false #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-112-17.1982276257" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-112-17.3884623866" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h b/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h index c9e4c6e1f2..1c2ed46969 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2634232815 +#define SIGNATURE_HASH 212776628 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-gm-e67.2634232815" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-gm-e67.212776628" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h b/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h index 45189a4f00..0cc16d6281 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22780 +#define persistent_config_s_size 22848 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 4178934713 +#define SIGNATURE_HASH 1756954338 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22780 +#define TOTAL_CONFIG_SIZE 22848 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all false #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-honda-k.4178934713" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-honda-k.1756954338" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen-nb1.h b/firmware/controllers/generated/rusefi_generated_hellen-nb1.h index e9952c17e0..00fb001856 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-nb1.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-nb1.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2740408222 +#define SIGNATURE_HASH 855296709 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-nb1.2740408222" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-nb1.855296709" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen121nissan.h b/firmware/controllers/generated/rusefi_generated_hellen121nissan.h index 39096c2e84..3d1e484a2e 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen121nissan.h +++ b/firmware/controllers/generated/rusefi_generated_hellen121nissan.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3616113600 +#define SIGNATURE_HASH 1176766107 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all false #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121nissan.3616113600" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121nissan.1176766107" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen121vag.h b/firmware/controllers/generated/rusefi_generated_hellen121vag.h index eddf48bd20..e413d3d437 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen121vag.h +++ b/firmware/controllers/generated/rusefi_generated_hellen121vag.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2403829169 +#define SIGNATURE_HASH 518652138 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121vag.2403829169" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121vag.518652138" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen128.h b/firmware/controllers/generated/rusefi_generated_hellen128.h index bb88441085..129dca4843 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen128.h +++ b/firmware/controllers/generated/rusefi_generated_hellen128.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 1387049632 +#define SIGNATURE_HASH 3271636987 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen128.1387049632" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen128.3271636987" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h b/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h index 4c2f92ec51..79683c2e43 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h +++ b/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 327213038 +#define SIGNATURE_HASH 2184010421 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all false #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen154hyundai.327213038" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen154hyundai.2184010421" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen72.h b/firmware/controllers/generated/rusefi_generated_hellen72.h index 0eefb298b7..8a84e25a7a 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen72.h +++ b/firmware/controllers/generated/rusefi_generated_hellen72.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 1071606987 +#define SIGNATURE_HASH 2926766480 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen72.1071606987" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen72.2926766480" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen81.h b/firmware/controllers/generated/rusefi_generated_hellen81.h index 4ff91f0168..6c80d5faab 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen81.h +++ b/firmware/controllers/generated/rusefi_generated_hellen81.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3668838577 +#define SIGNATURE_HASH 1258524138 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen81.3668838577" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen81.1258524138" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellen88bmw.h b/firmware/controllers/generated/rusefi_generated_hellen88bmw.h index 3baa983f06..5ada9da3a6 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen88bmw.h +++ b/firmware/controllers/generated/rusefi_generated_hellen88bmw.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 1806804341 +#define SIGNATURE_HASH 4196147246 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen88bmw.1806804341" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen88bmw.4196147246" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellenNA6.h b/firmware/controllers/generated/rusefi_generated_hellenNA6.h index f7ef88ac8c..9ba8d86839 100644 --- a/firmware/controllers/generated/rusefi_generated_hellenNA6.h +++ b/firmware/controllers/generated/rusefi_generated_hellenNA6.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3354382128 +#define SIGNATURE_HASH 1447185003 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA6.3354382128" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA6.1447185003" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h b/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h index bb5671b961..8b296baf00 100644 --- a/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h +++ b/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1160,7 +1160,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3357960792 +#define SIGNATURE_HASH 1502342915 #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" @@ -1210,7 +1210,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1478,7 +1478,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA8_96.3357960792" +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA8_96.1502342915" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_m74_9.h b/firmware/controllers/generated/rusefi_generated_m74_9.h index ac2cff9ad4..b147183516 100644 --- a/firmware/controllers/generated/rusefi_generated_m74_9.h +++ b/firmware/controllers/generated/rusefi_generated_m74_9.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3586094972 +#define SIGNATURE_HASH 1142092327 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.m74_9.3586094972" +#define TS_SIGNATURE "rusEFI master.2024.01.17.m74_9.1142092327" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_mre_f4.h b/firmware/controllers/generated/rusefi_generated_mre_f4.h index adb81f73ee..30fabcb5ac 100644 --- a/firmware/controllers/generated/rusefi_generated_mre_f4.h +++ b/firmware/controllers/generated/rusefi_generated_mre_f4.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets true #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 4062463693 +#define SIGNATURE_HASH 1669972886 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f4.4062463693" +#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f4.1669972886" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_mre_f7.h b/firmware/controllers/generated/rusefi_generated_mre_f7.h index c8fdcfad18..feaf77cb4e 100644 --- a/firmware/controllers/generated/rusefi_generated_mre_f7.h +++ b/firmware/controllers/generated/rusefi_generated_mre_f7.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets true #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 4062463693 +#define SIGNATURE_HASH 1669972886 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f7.4062463693" +#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f7.1669972886" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_nucleo_h743.h b/firmware/controllers/generated/rusefi_generated_nucleo_h743.h index 911ca1e32b..8500bca23d 100644 --- a/firmware/controllers/generated/rusefi_generated_nucleo_h743.h +++ b/firmware/controllers/generated/rusefi_generated_nucleo_h743.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.nucleo_h743.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.nucleo_h743.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_prometheus_405.h b/firmware/controllers/generated/rusefi_generated_prometheus_405.h index 0f3399e667..4663932937 100644 --- a/firmware/controllers/generated/rusefi_generated_prometheus_405.h +++ b/firmware/controllers/generated/rusefi_generated_prometheus_405.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2410304967 +#define SIGNATURE_HASH 503828636 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_405.2410304967" +#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_405.503828636" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_prometheus_469.h b/firmware/controllers/generated/rusefi_generated_prometheus_469.h index 910da44dba..5b7a2b3f09 100644 --- a/firmware/controllers/generated/rusefi_generated_prometheus_469.h +++ b/firmware/controllers/generated/rusefi_generated_prometheus_469.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2410304967 +#define SIGNATURE_HASH 503828636 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_469.2410304967" +#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_469.503828636" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_proteus_f4.h b/firmware/controllers/generated/rusefi_generated_proteus_f4.h index aafdf4b982..f68d60ca63 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_f4.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_f4.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 26108 +#define persistent_config_s_size 26176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets true #define show_test_presets false -#define SIGNATURE_HASH 3563007433 +#define SIGNATURE_HASH 1173530770 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 26108 +#define TOTAL_CONFIG_SIZE 26176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f4.3563007433" +#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f4.1173530770" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_proteus_f7.h b/firmware/controllers/generated/rusefi_generated_proteus_f7.h index a845aca889..8665c4839e 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_f7.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_f7.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 26108 +#define persistent_config_s_size 26176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets true #define show_test_presets false -#define SIGNATURE_HASH 3563007433 +#define SIGNATURE_HASH 1173530770 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 26108 +#define TOTAL_CONFIG_SIZE 26176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f7.3563007433" +#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f7.1173530770" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_proteus_h7.h b/firmware/controllers/generated/rusefi_generated_proteus_h7.h index 2d1a0148f5..6cc98a9da5 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_h7.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_h7.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 26108 +#define persistent_config_s_size 26176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets true #define show_test_presets false -#define SIGNATURE_HASH 3563007433 +#define SIGNATURE_HASH 1173530770 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 26108 +#define TOTAL_CONFIG_SIZE 26176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_h7.3563007433" +#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_h7.1173530770" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_s105.h b/firmware/controllers/generated/rusefi_generated_s105.h index d11b97021d..5dc63fea0c 100644 --- a/firmware/controllers/generated/rusefi_generated_s105.h +++ b/firmware/controllers/generated/rusefi_generated_s105.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 385452305 +#define SIGNATURE_HASH 2270432330 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.s105.385452305" +#define TS_SIGNATURE "rusEFI master.2024.01.17.s105.2270432330" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_small-can-board.h b/firmware/controllers/generated/rusefi_generated_small-can-board.h index f8408c9f0b..d98e74f356 100644 --- a/firmware/controllers/generated/rusefi_generated_small-can-board.h +++ b/firmware/controllers/generated/rusefi_generated_small-can-board.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1158,7 +1158,7 @@ #define show_Proteus_presets false #define show_small_can_board_presets true #define show_test_presets false -#define SIGNATURE_HASH 2174702814 +#define SIGNATURE_HASH 271765893 #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" @@ -1208,7 +1208,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1476,7 +1476,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.small-can-board.2174702814" +#define TS_SIGNATURE "rusEFI master.2024.01.17.small-can-board.271765893" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_stm32f413_nucleo.h b/firmware/controllers/generated/rusefi_generated_stm32f413_nucleo.h index 387c505d2a..a376679d95 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f413_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f413_nucleo.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f413_nucleo.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f413_nucleo.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h b/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h index d89b716776..66f2a99f67 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f429_nucleo.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f429_nucleo.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h b/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h index e8b0461b2e..d75c0744c7 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f767_nucleo.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f767_nucleo.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_t-b-g.h b/firmware/controllers/generated/rusefi_generated_t-b-g.h index 40820ec186..cbe51cbbb8 100644 --- a/firmware/controllers/generated/rusefi_generated_t-b-g.h +++ b/firmware/controllers/generated/rusefi_generated_t-b-g.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 3208550487 +#define SIGNATURE_HASH 781393164 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.t-b-g.3208550487" +#define TS_SIGNATURE "rusEFI master.2024.01.17.t-b-g.781393164" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h b/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h index 64bd15f7af..c4b48962c8 100644 --- a/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h +++ b/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1157,7 +1157,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 898675829 +#define SIGNATURE_HASH 2755473710 #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" @@ -1207,7 +1207,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1475,7 +1475,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.tdg-pdm8.898675829" +#define TS_SIGNATURE "rusEFI master.2024.01.17.tdg-pdm8.2755473710" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/rusefi_generated_uaefi.h b/firmware/controllers/generated/rusefi_generated_uaefi.h index df87a152d5..e579548cf6 100644 --- a/firmware/controllers/generated/rusefi_generated_uaefi.h +++ b/firmware/controllers/generated/rusefi_generated_uaefi.h @@ -308,7 +308,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 4580 +#define engine_configuration_s_size 4648 #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 @@ -441,7 +441,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 230721 +#define FLASH_DATA_VERSION 20014 #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" @@ -1077,7 +1077,7 @@ #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 22108 +#define persistent_config_s_size 22176 #define pid_s_size 20 #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" @@ -1159,7 +1159,7 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 1133751512 +#define SIGNATURE_HASH 3527289219 #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" @@ -1209,7 +1209,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22108 +#define TOTAL_CONFIG_SIZE 22176 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1477,7 +1477,7 @@ #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all false #define ts_show_vr_threshold_pins true -#define TS_SIGNATURE "rusEFI master.2024.01.17.uaefi.1133751512" +#define TS_SIGNATURE "rusEFI master.2024.01.17.uaefi.3527289219" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/firmware/controllers/generated/signature_alphax-2chan.h b/firmware/controllers/generated/signature_alphax-2chan.h index 3860efead6..0d21356fba 100644 --- a/firmware/controllers/generated/signature_alphax-2chan.h +++ b/firmware/controllers/generated/signature_alphax-2chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3477810256 -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-2chan.3477810256" +#define SIGNATURE_HASH 1592174859 +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-2chan.1592174859" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index 91a989276e..222a57b12d 100644 --- a/firmware/controllers/generated/signature_alphax-4chan.h +++ b/firmware/controllers/generated/signature_alphax-4chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2887664296 -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan.2887664296" +#define SIGNATURE_HASH 1035192307 +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan.1035192307" diff --git a/firmware/controllers/generated/signature_alphax-4chan_f7.h b/firmware/controllers/generated/signature_alphax-4chan_f7.h index 2552e7dbf6..fb56e553a0 100644 --- a/firmware/controllers/generated/signature_alphax-4chan_f7.h +++ b/firmware/controllers/generated/signature_alphax-4chan_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2887664296 -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan_f7.2887664296" +#define SIGNATURE_HASH 1035192307 +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-4chan_f7.1035192307" diff --git a/firmware/controllers/generated/signature_alphax-8chan-revA.h b/firmware/controllers/generated/signature_alphax-8chan-revA.h index 94ab67af03..0afcdc978f 100644 --- a/firmware/controllers/generated/signature_alphax-8chan-revA.h +++ b/firmware/controllers/generated/signature_alphax-8chan-revA.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4269385295 -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan-revA.4269385295" +#define SIGNATURE_HASH 1876173588 +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan-revA.1876173588" diff --git a/firmware/controllers/generated/signature_alphax-8chan.h b/firmware/controllers/generated/signature_alphax-8chan.h index f5f720c4e7..5437aa7f4d 100644 --- a/firmware/controllers/generated/signature_alphax-8chan.h +++ b/firmware/controllers/generated/signature_alphax-8chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2710992304 -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan.2710992304" +#define SIGNATURE_HASH 809234667 +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan.809234667" diff --git a/firmware/controllers/generated/signature_alphax-8chan_f7.h b/firmware/controllers/generated/signature_alphax-8chan_f7.h index bca2cba43e..017b4da331 100644 --- a/firmware/controllers/generated/signature_alphax-8chan_f7.h +++ b/firmware/controllers/generated/signature_alphax-8chan_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2710992304 -#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan_f7.2710992304" +#define SIGNATURE_HASH 809234667 +#define TS_SIGNATURE "rusEFI master.2024.01.17.alphax-8chan_f7.809234667" diff --git a/firmware/controllers/generated/signature_at_start_f435.h b/firmware/controllers/generated/signature_at_start_f435.h index ec6bee51ee..dc995d9c00 100644 --- a/firmware/controllers/generated/signature_at_start_f435.h +++ b/firmware/controllers/generated/signature_at_start_f435.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.at_start_f435.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.at_start_f435.781393164" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index 3bdbaa4622..32f0b88f11 100644 --- a/firmware/controllers/generated/signature_atlas.h +++ b/firmware/controllers/generated/signature_atlas.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4214836249 -#define TS_SIGNATURE "rusEFI master.2024.01.17.atlas.4214836249" +#define SIGNATURE_HASH 1788135746 +#define TS_SIGNATURE "rusEFI master.2024.01.17.atlas.1788135746" diff --git a/firmware/controllers/generated/signature_cypress.h b/firmware/controllers/generated/signature_cypress.h index 124b26588d..9381077f95 100644 --- a/firmware/controllers/generated/signature_cypress.h +++ b/firmware/controllers/generated/signature_cypress.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on hellen_cypress_gen_config.bat by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.cypress.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.cypress.781393164" diff --git a/firmware/controllers/generated/signature_f407-discovery.h b/firmware/controllers/generated/signature_f407-discovery.h index b56b1f2540..180f200510 100644 --- a/firmware/controllers/generated/signature_f407-discovery.h +++ b/firmware/controllers/generated/signature_f407-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1562927191 -#define TS_SIGNATURE "rusEFI master.2024.01.17.f407-discovery.1562927191" +#define SIGNATURE_HASH 3431326988 +#define TS_SIGNATURE "rusEFI master.2024.01.17.f407-discovery.3431326988" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index a8b0cc58b6..75dc2b97ca 100644 --- a/firmware/controllers/generated/signature_f429-discovery.h +++ b/firmware/controllers/generated/signature_f429-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.f429-discovery.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.f429-discovery.781393164" diff --git a/firmware/controllers/generated/signature_f469-discovery.h b/firmware/controllers/generated/signature_f469-discovery.h index 0083f0723a..ca160c42fe 100644 --- a/firmware/controllers/generated/signature_f469-discovery.h +++ b/firmware/controllers/generated/signature_f469-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2380897988 -#define TS_SIGNATURE "rusEFI master.2024.01.17.f469-discovery.2380897988" +#define SIGNATURE_HASH 474225567 +#define TS_SIGNATURE "rusEFI master.2024.01.17.f469-discovery.474225567" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 5b47c8b399..2afdeadb7d 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4006161532 -#define TS_SIGNATURE "rusEFI master.2024.01.17.frankenso_na6.4006161532" +#define SIGNATURE_HASH 2137303335 +#define TS_SIGNATURE "rusEFI master.2024.01.17.frankenso_na6.2137303335" diff --git a/firmware/controllers/generated/signature_hellen-112-17.h b/firmware/controllers/generated/signature_hellen-112-17.h index f9fb6e32f3..200885b9aa 100644 --- a/firmware/controllers/generated/signature_hellen-112-17.h +++ b/firmware/controllers/generated/signature_hellen-112-17.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1982276257 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-112-17.1982276257" +#define SIGNATURE_HASH 3884623866 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-112-17.3884623866" diff --git a/firmware/controllers/generated/signature_hellen-gm-e67.h b/firmware/controllers/generated/signature_hellen-gm-e67.h index 1d6a3e8cbb..1291ccc800 100644 --- a/firmware/controllers/generated/signature_hellen-gm-e67.h +++ b/firmware/controllers/generated/signature_hellen-gm-e67.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2634232815 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-gm-e67.2634232815" +#define SIGNATURE_HASH 212776628 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-gm-e67.212776628" diff --git a/firmware/controllers/generated/signature_hellen-honda-k.h b/firmware/controllers/generated/signature_hellen-honda-k.h index 5d59bb34c3..8c1bcce7de 100644 --- a/firmware/controllers/generated/signature_hellen-honda-k.h +++ b/firmware/controllers/generated/signature_hellen-honda-k.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4178934713 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-honda-k.4178934713" +#define SIGNATURE_HASH 1756954338 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-honda-k.1756954338" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index 4f13af2569..5f16f4f19e 100644 --- a/firmware/controllers/generated/signature_hellen-nb1.h +++ b/firmware/controllers/generated/signature_hellen-nb1.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2740408222 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-nb1.2740408222" +#define SIGNATURE_HASH 855296709 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen-nb1.855296709" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 7c74cc3f1f..a276c60854 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3616113600 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121nissan.3616113600" +#define SIGNATURE_HASH 1176766107 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121nissan.1176766107" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 7def8c1576..16461e0fdc 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2403829169 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121vag.2403829169" +#define SIGNATURE_HASH 518652138 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen121vag.518652138" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index e94baf8209..37a3a50dde 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1387049632 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen128.1387049632" +#define SIGNATURE_HASH 3271636987 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen128.3271636987" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index 109525434a..1e4fda17e7 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 327213038 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen154hyundai.327213038" +#define SIGNATURE_HASH 2184010421 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen154hyundai.2184010421" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index c8501c82e8..7fc445afef 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1071606987 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen72.1071606987" +#define SIGNATURE_HASH 2926766480 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen72.2926766480" diff --git a/firmware/controllers/generated/signature_hellen81.h b/firmware/controllers/generated/signature_hellen81.h index 61e539dd14..4d2e391eb8 100644 --- a/firmware/controllers/generated/signature_hellen81.h +++ b/firmware/controllers/generated/signature_hellen81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3668838577 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen81.3668838577" +#define SIGNATURE_HASH 1258524138 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen81.1258524138" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index 6ae46f7522..8908605ffe 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1806804341 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen88bmw.1806804341" +#define SIGNATURE_HASH 4196147246 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellen88bmw.4196147246" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index e5262419c4..f7a3799ae5 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3354382128 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA6.3354382128" +#define SIGNATURE_HASH 1447185003 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA6.1447185003" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index 501812f30a..3f4d3453ea 100644 --- a/firmware/controllers/generated/signature_hellenNA8_96.h +++ b/firmware/controllers/generated/signature_hellenNA8_96.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3357960792 -#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA8_96.3357960792" +#define SIGNATURE_HASH 1502342915 +#define TS_SIGNATURE "rusEFI master.2024.01.17.hellenNA8_96.1502342915" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index c192b05f05..a418889021 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on kinetis_gen_config.bat by SignatureConsumer // -#define SIGNATURE_HASH 4260323321 -#define TS_SIGNATURE "rusEFI master.2024.01.17.kin.4260323321" +#define SIGNATURE_HASH 1816320674 +#define TS_SIGNATURE "rusEFI master.2024.01.17.kin.1816320674" diff --git a/firmware/controllers/generated/signature_m74_9.h b/firmware/controllers/generated/signature_m74_9.h index b264a42ecb..2fdb18e5c9 100644 --- a/firmware/controllers/generated/signature_m74_9.h +++ b/firmware/controllers/generated/signature_m74_9.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3586094972 -#define TS_SIGNATURE "rusEFI master.2024.01.17.m74_9.3586094972" +#define SIGNATURE_HASH 1142092327 +#define TS_SIGNATURE "rusEFI master.2024.01.17.m74_9.1142092327" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 8ccfeaacb5..17cb1edf74 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4062463693 -#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f4.4062463693" +#define SIGNATURE_HASH 1669972886 +#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f4.1669972886" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 70860f92b7..0fa5816dcb 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4062463693 -#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f7.4062463693" +#define SIGNATURE_HASH 1669972886 +#define TS_SIGNATURE "rusEFI master.2024.01.17.mre_f7.1669972886" diff --git a/firmware/controllers/generated/signature_nucleo_h743.h b/firmware/controllers/generated/signature_nucleo_h743.h index a8ffa601d6..273b8001bd 100644 --- a/firmware/controllers/generated/signature_nucleo_h743.h +++ b/firmware/controllers/generated/signature_nucleo_h743.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.nucleo_h743.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.nucleo_h743.781393164" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index a7b469ee45..5d3d6c3156 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2410304967 -#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_405.2410304967" +#define SIGNATURE_HASH 503828636 +#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_405.503828636" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index b931f066ac..203432d910 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2410304967 -#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_469.2410304967" +#define SIGNATURE_HASH 503828636 +#define TS_SIGNATURE "rusEFI master.2024.01.17.prometheus_469.503828636" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index cbd11297c3..6fe80a02ea 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3563007433 -#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f4.3563007433" +#define SIGNATURE_HASH 1173530770 +#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f4.1173530770" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index abcedd833d..90d7d82a37 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3563007433 -#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f7.3563007433" +#define SIGNATURE_HASH 1173530770 +#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_f7.1173530770" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index 258b61ecb1..6666b8ddba 100644 --- a/firmware/controllers/generated/signature_proteus_h7.h +++ b/firmware/controllers/generated/signature_proteus_h7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3563007433 -#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_h7.3563007433" +#define SIGNATURE_HASH 1173530770 +#define TS_SIGNATURE "rusEFI master.2024.01.17.proteus_h7.1173530770" diff --git a/firmware/controllers/generated/signature_s105.h b/firmware/controllers/generated/signature_s105.h index cc4b9b2cd8..a529f04038 100644 --- a/firmware/controllers/generated/signature_s105.h +++ b/firmware/controllers/generated/signature_s105.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 385452305 -#define TS_SIGNATURE "rusEFI master.2024.01.17.s105.385452305" +#define SIGNATURE_HASH 2270432330 +#define TS_SIGNATURE "rusEFI master.2024.01.17.s105.2270432330" diff --git a/firmware/controllers/generated/signature_small-can-board.h b/firmware/controllers/generated/signature_small-can-board.h index a39e2a2948..26ad17ce1b 100644 --- a/firmware/controllers/generated/signature_small-can-board.h +++ b/firmware/controllers/generated/signature_small-can-board.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2174702814 -#define TS_SIGNATURE "rusEFI master.2024.01.17.small-can-board.2174702814" +#define SIGNATURE_HASH 271765893 +#define TS_SIGNATURE "rusEFI master.2024.01.17.small-can-board.271765893" diff --git a/firmware/controllers/generated/signature_stm32f413_nucleo.h b/firmware/controllers/generated/signature_stm32f413_nucleo.h index 075d24cd48..5236853760 100644 --- a/firmware/controllers/generated/signature_stm32f413_nucleo.h +++ b/firmware/controllers/generated/signature_stm32f413_nucleo.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f413_nucleo.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f413_nucleo.781393164" diff --git a/firmware/controllers/generated/signature_stm32f429_nucleo.h b/firmware/controllers/generated/signature_stm32f429_nucleo.h index daacce67e1..ad612ad302 100644 --- a/firmware/controllers/generated/signature_stm32f429_nucleo.h +++ b/firmware/controllers/generated/signature_stm32f429_nucleo.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f429_nucleo.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f429_nucleo.781393164" diff --git a/firmware/controllers/generated/signature_stm32f767_nucleo.h b/firmware/controllers/generated/signature_stm32f767_nucleo.h index a2ea94f41a..f67d1cba9d 100644 --- a/firmware/controllers/generated/signature_stm32f767_nucleo.h +++ b/firmware/controllers/generated/signature_stm32f767_nucleo.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f767_nucleo.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.stm32f767_nucleo.781393164" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 812f4a9ab9..2f8c024b3c 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 215518911 -#define TS_SIGNATURE "rusEFI master.2024.01.17.subaru_eg33_f7.215518911" +#define SIGNATURE_HASH 2641693668 +#define TS_SIGNATURE "rusEFI master.2024.01.17.subaru_eg33_f7.2641693668" diff --git a/firmware/controllers/generated/signature_t-b-g.h b/firmware/controllers/generated/signature_t-b-g.h index 784dd6acf0..5ccf72d854 100644 --- a/firmware/controllers/generated/signature_t-b-g.h +++ b/firmware/controllers/generated/signature_t-b-g.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3208550487 -#define TS_SIGNATURE "rusEFI master.2024.01.17.t-b-g.3208550487" +#define SIGNATURE_HASH 781393164 +#define TS_SIGNATURE "rusEFI master.2024.01.17.t-b-g.781393164" diff --git a/firmware/controllers/generated/signature_tdg-pdm8.h b/firmware/controllers/generated/signature_tdg-pdm8.h index ceaa2af7a3..7a5f8ee1ce 100644 --- a/firmware/controllers/generated/signature_tdg-pdm8.h +++ b/firmware/controllers/generated/signature_tdg-pdm8.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 898675829 -#define TS_SIGNATURE "rusEFI master.2024.01.17.tdg-pdm8.898675829" +#define SIGNATURE_HASH 2755473710 +#define TS_SIGNATURE "rusEFI master.2024.01.17.tdg-pdm8.2755473710" diff --git a/firmware/controllers/generated/signature_uaefi.h b/firmware/controllers/generated/signature_uaefi.h index e2fed83a03..bcc92be53e 100644 --- a/firmware/controllers/generated/signature_uaefi.h +++ b/firmware/controllers/generated/signature_uaefi.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1133751512 -#define TS_SIGNATURE "rusEFI master.2024.01.17.uaefi.1133751512" +#define SIGNATURE_HASH 3527289219 +#define TS_SIGNATURE "rusEFI master.2024.01.17.uaefi.3527289219" diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index 7be68fd750..ad2468a25b 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -40,6 +40,9 @@ float getConfigValueByName(const char *name) { // injector.flow case 1542550121: return engineConfiguration->injector.flow; +// injectorSecondary.flow + case -289303407: + return engineConfiguration->injectorSecondary.flow; // isForcedInduction case -617915487: return engineConfiguration->isForcedInduction; @@ -1818,6 +1821,11 @@ bool setConfigValueByName(const char *name, float value) { { engineConfiguration->injector.flow = value; return 1; + } + case -289303407: + { + engineConfiguration->injectorSecondary.flow = value; + return 1; } case -617915487: { diff --git a/firmware/controllers/lua/generated/value_lookup_generated.md b/firmware/controllers/lua/generated/value_lookup_generated.md index 882ffaee31..3fa225777c 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.md +++ b/firmware/controllers/lua/generated/value_lookup_generated.md @@ -34,6 +34,9 @@ Configures the maximum number of extra sparks to fire (does not include main spa ### 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 +### injectorSecondary.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 + ### isForcedInduction Does the vehicle have a turbo or supercharger? diff --git a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini index 20d54029f5..552a6bf21a 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.alphax-2chan.3477810256" + signature = "rusEFI master.2024.01.17.alphax-2chan.1592174859" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.alphax-2chan.3477810256" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.alphax-2chan.1592174859" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","B4 - O2","On-board MAP","INVALID","B5 - TPS","A2 Battery Sense","C7 - CAM Hall/Digital","INVALID","X1 - AIN1","INVALID","INVALID","B2 - MAP","B7 - CLT","B3 - IAT","X3 - AIN2","X7 - AIN4" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:14 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:08 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6814,7 +6830,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6833,9 +6849,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6849,9 +6863,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini index 552a597ed5..84195a3486 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.alphax-4chan.2887664296" + signature = "rusEFI master.2024.01.17.alphax-4chan.1035192307" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.alphax-4chan.2887664296" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.alphax-4chan.1035192307" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","B4 - O2","On-board MAP","D5 - PPS","B5 - TPS","F7 - Ignition Key Voltage","C7 - CAM Hall/Digital","X7 - AIN4","D4 - TPS2","INVALID","X5 - AIN3","B2 - MAP","B7 - CLT","B3 - IAT","F6 - PPS2","INVALID","INVALID","INVALID","INVALID","X3 - AIN2","X1 - AIN1 and D5 on older boards" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:17 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:11 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini index 7712e4124c..75ace8f455 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.alphax-4chan_f7.2887664296" + signature = "rusEFI master.2024.01.17.alphax-4chan_f7.1035192307" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.alphax-4chan_f7.2887664296" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.alphax-4chan_f7.1035192307" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","B4 - O2","On-board MAP","D5 - PPS","B5 - TPS","F7 - Ignition Key Voltage","C7 - CAM Hall/Digital","X7 - AIN4","D4 - TPS2","INVALID","X5 - AIN3","B2 - MAP","B7 - CLT","B3 - IAT","F6 - PPS2","INVALID","INVALID","INVALID","INVALID","X3 - AIN2","X1 - AIN1 and D5 on older boards" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:19 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:14 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini index 6dd930a689..a652378ec1 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.alphax-8chan-revA.4269385295" + signature = "rusEFI master.2024.01.17.alphax-8chan-revA.1876173588" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.alphax-8chan-revA.4269385295" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.alphax-8chan-revA.1876173588" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","INVALID","INVALID","17A - PPS","23C - TPS","Battery Sense","INVALID","15D - AN5","24C - TPS2","14A - Analog 1","22A - Analog 22","On-board MAP","16A - CLT","15A - IAT","31C - PPS2","33A - AN3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","16D - AN6","INVALID","INVALID","INVALID","INVALID","7C - AT4","INVALID","6C - AT3","14D - AN4" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:27 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:22 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6818,7 +6834,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6837,9 +6853,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6853,9 +6867,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini index 2ea716a3d1..fd6963b77d 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.alphax-8chan.2710992304" + signature = "rusEFI master.2024.01.17.alphax-8chan.809234667" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.alphax-8chan.2710992304" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.alphax-8chan.809234667" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","3A - Aux Analog 2","On-board MAP","32A - PPS Sensor Input","31A - TPS Sensor Input","24 - Ignition Key Voltage","INVALID","INVALID","19A - Aux Analog 6","1A - Aux Analog 1","2A - Aux Analog 4","INVALID","29A - CLT Sensor Input","27A - IAT Sensor Input","INVALID","12A - Aux Analog 8","INVALID","11A - Aux Analog 3","INVALID","34A - PPS2 Sensor Input","33A - TPS2 Sensor Input","INVALID","INVALID","INVALID","4A - Aux Analog 7","INVALID","10A - Aux Analog 5","INVALID","28A - Aux Temp 2","28A - Aux Temp 1","INVALID","20A - Aux Analog 9" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:22 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:17 UTC 2024 -pageSize = 22124 +pageSize = 22192 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1486 +112,1489 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -vrThreshold3_rpmBins = array, U08, 1248, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold3_values = array, U08, 1254, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold3_pin = bits, U16, 1260, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1264, 16 -gpPwmNote2 = string, ASCII, 1280, 16 -gpPwmNote3 = string, ASCII, 1296, 16 -gpPwmNote4 = string, ASCII, 1312, 16 -tps2SecondaryMin = scalar, U16, 1328, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1330, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1332, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1332, [1:1], "false", "true" -oddFireEngine = bits, U32, 1332, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1332, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1332, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1332, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1332, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1332, [7:7], "false", "true" -canReadEnabled = bits, U32, 1332, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1332, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1332, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1332, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1332, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1332, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1332, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1332, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1332, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1332, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1332, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1332, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1332, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1332, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1332, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1332, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1332, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1332, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1332, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1332, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1332, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1332, [29:29], "false", "true" -twoStroke = bits, U32, 1332, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1332, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1336, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1338, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1340, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1341, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1342, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1344, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1344, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1344, [2:2], "false", "true" -complexWallModel = bits, U32, 1344, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1344, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1344, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1344, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1344, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1344, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1344, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1344, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1344, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1344, [12:12], "false", "true" -hondaK = bits, U32, 1344, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1344, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1344, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1344, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1344, [17:17], "false", "true" -flexCranking = bits, U32, 1344, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1344, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1344, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1344, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1344, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1344, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1344, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1344, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1344, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1344, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1344, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1344, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1344, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1344, [31:31], "false", "true" -engineChartSize = scalar, U32, 1348, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1352, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1356, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1358, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1360, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1362, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1364, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1366, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1368, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1372, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1376, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1380, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1384, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1388, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1392, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1396, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1400, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1412, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1414, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1416, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1418, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1420, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1424, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1428, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1432, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1434, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1436, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1438, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1440, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1442, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1444, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1446, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1448, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1450, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1452, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1454, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1456, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1458, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1460, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1464, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1468, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1470, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1492, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1496, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1498, [0:7], $gpio_list -auxValves1 = bits, U16, 1500, [0:7], $gpio_list -auxValves2 = bits, U16, 1502, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1504, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1506, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1508, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1512, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1516, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1518, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1520, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1524, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1524, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1524, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1524, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1524, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1528, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1530, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1532, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1534, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1536, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1538, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1539, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1540, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1541, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1548, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1550, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1552, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1553, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1554, [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, 1555, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1556, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1560, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1564, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1568, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1572, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1576, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1580, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1581, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1582, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1583, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1584, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1585, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1586, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1587, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1588, [0:0], "false", "true" -canOpenBLT = bits, U32, 1588, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1588, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1588, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1588, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1588, [5:5], "false", "true" -can1ListenMode = bits, U32, 1588, [6:6], "false", "true" -can2ListenMode = bits, U32, 1588, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1592, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1593, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1594, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1596, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1597, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1598, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1600, [0:7], $gpio_list -can2RxPin = bits, U16, 1602, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1604, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1605, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1606, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1607, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1608, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1610, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1612, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1616, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1632, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1648, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1652, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1656, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1660, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1664, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1666, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1668, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1670, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1672, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1676, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1680, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1684, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1688, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1692, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1696, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1698, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1699, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1700, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1704, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1705, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1706, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1707, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1708, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1709, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1710, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1711, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1712, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1713, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1714, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1715, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1722, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1724, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1726, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1728, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1730, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1732, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1734, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1736, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1738, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1740, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1741, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1742, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1743, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1744, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1748, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1892, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1916, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1940, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1944, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1948, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1952, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1956, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1960, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1964, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1968, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1972, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1976, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1980, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1984, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1988, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1992, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1996, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 2000, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 2004, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 2006, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 2008, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 2012, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2016, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2020, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2022, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2024, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2026, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2028, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2029, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2030, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2031, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2064, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2068, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2072, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2076, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2080, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2084, [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, 2085, [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, 2086, [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, 2087, [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, 2088, [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, 2089, [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, 2090, [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, 2091, [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, 2092, [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, 2093, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2094, [0:7], $gpio_list -mc33816_driven = bits, U16, 2096, [0:7], $gpio_list -brakePedalPin = bits, U16, 2098, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2100, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2104, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2116, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2118, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2120, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2122, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2124, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2128, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2132, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2136, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2138, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2140, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2142, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2160, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2164, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2168, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2172, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2176, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2184, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2188, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2192, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2196, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2200, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2204, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2206, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2208, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2209, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2210, [0:7], $gpio_list -tle8888_cs = bits, U16, 2212, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2214, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2216, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2220, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2224, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2226, [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" -launchFuelAdderPercent = scalar, S08, 2228, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2229, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2230, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2232, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2236, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2238, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2240, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2242, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2244, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2246, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2248, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2252, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2256, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2260, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2264, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2268, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2272, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2276, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2280, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2284, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2288, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2292, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2300, 16 -scriptCurveName2 = string, ASCII, 2316, 16 -scriptCurveName3 = string, ASCII, 2332, 16 -scriptCurveName4 = string, ASCII, 2348, 16 -scriptCurveName5 = string, ASCII, 2364, 16 -scriptCurveName6 = string, ASCII, 2380, 16 -scriptTableName1 = string, ASCII, 2396, 16 -scriptTableName2 = string, ASCII, 2412, 16 -scriptTableName3 = string, ASCII, 2428, 16 -scriptTableName4 = string, ASCII, 2444, 16 -scriptSettingName1 = string, ASCII, 2460, 16 -scriptSettingName2 = string, ASCII, 2476, 16 -scriptSettingName3 = string, ASCII, 2492, 16 -scriptSettingName4 = string, ASCII, 2508, 16 -scriptSettingName5 = string, ASCII, 2524, 16 -scriptSettingName6 = string, ASCII, 2540, 16 -scriptSettingName7 = string, ASCII, 2556, 16 -scriptSettingName8 = string, ASCII, 2572, 16 -tChargeAirCoefMin = scalar, F32, 2588, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2592, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2596, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2600, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2604, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2608, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2612, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2616, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2618, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2620, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2624, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2628, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2632, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2634, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2636, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2640, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2644, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2646, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2648, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2652, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2653, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2654, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2656, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2657, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2658, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2660, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2664, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2665, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2666, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2667, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2668, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2669, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2670, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2671, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2672, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2673, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2674, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2675, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2676, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2684, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2685, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2686, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2687, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2688, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2700, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2706, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2707, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2708, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2712, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2714, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2716, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2718, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2719, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2720, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2721, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2722, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2738, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2754, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2820, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2822, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2824, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2826, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2827, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2828, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2829, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2830, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2846, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2862, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2928, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2930, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2932, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2934, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2935, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2937, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2938, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2954, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2970, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3036, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3038, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3040, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3042, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3043, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3044, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3045, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3046, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3062, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3078, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3144, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3146, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3148, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3150, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3152, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3154, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3156, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3158, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3160, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3165, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3166, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3167, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3168, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3169, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3170, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3171, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3332, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3333, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3334, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3336, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3338, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3342, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3343, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3344, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3345, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3346, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3348, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3350, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3351, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3352, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3354, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3356, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3358, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3374, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3390, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3398, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3414, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3614, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3634, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3644, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3744, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3764, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3774, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3776, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3778, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3780, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3786, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3788, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3790, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3792, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3794, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3796, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3798, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3800, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3802, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3804, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3812, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3820, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3828, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3836, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3844, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3852, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3888, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3900, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3912, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3913, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3914, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3916, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3920, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3924, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3928, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3932, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3936, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3940, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3944, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3948, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3952, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3960, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3962, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3964, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3966, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3968, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3970, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3972, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3974, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3976, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3978, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3980, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3984, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3986, 17 -highSpeedOffsets = array, U16, 4004, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4068, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4072, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4074, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4076, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4078, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4080, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4082, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4084, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4086, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4088, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4090, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4094, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4096, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4098, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4100, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4101, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4102, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4103, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4104, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4105, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4106, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4108, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4112, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4116, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4120, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4121, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4122, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4123, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4124, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4125, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4126, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4127, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4128, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4129, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4130, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4131, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4132, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4134, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4136, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4137, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4138, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4140, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4142, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4143, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4144, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4145, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4146, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4148, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4149, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4160, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4164, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4165, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4166, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4168, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4170, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4172, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4174, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4176, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4184, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4188, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4192, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4196, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4200, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4204, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4208, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4212, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4216, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4220, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4224, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4228, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4232, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4236, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4240, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4244, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4248, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4252, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4256, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4260, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4264, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4268, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4272, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4276, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4280, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4284, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4288, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4292, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4296, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4300, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4304, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4308, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4312, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4316, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4317, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4318, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4320, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4322, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4324, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4326, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4327, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4328, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4329, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4330, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4331, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4348, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4352, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4356, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4360, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4364, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4400, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4401, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4402, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4410, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4412, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4414, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4416, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4418, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4420, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4422, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4424, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4426, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4428, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4596, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4628, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4660, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4724, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4732, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4740, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4756, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4772, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4788, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4804, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4836, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4868, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4932, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4996, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5060, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5124, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5156, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5188, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5220, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5252, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5284, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5316, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5348, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5380, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5396, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5412, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5476, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5508, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5540, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5548, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5556, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5572, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5588, 120 -afterstartCoolantBins = array, F32, 5708, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5740, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5772, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5804, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5836, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5900, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5908, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5972, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5980, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6044, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6052, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6060, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6092, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6124, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6132, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6164, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6168, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6172, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6204, 8000 -cltFuelCorrBins = array, F32, 14204, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14268, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14332, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14396, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14460, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14492, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14524, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14556, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14588, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14652, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14716, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14844, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14972, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15036, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15044, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15052, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15564, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15596, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15628, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15688, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16200, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16232, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16264, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16328, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16344, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16360, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16424, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16440, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16456, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16968, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17000, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17032, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17544, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17576, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +vrThreshold3_rpmBins = array, U08, 1316, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold3_values = array, U08, 1322, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold3_pin = bits, U16, 1328, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1332, 16 +gpPwmNote2 = string, ASCII, 1348, 16 +gpPwmNote3 = string, ASCII, 1364, 16 +gpPwmNote4 = string, ASCII, 1380, 16 +tps2SecondaryMin = scalar, U16, 1396, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1398, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1400, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1400, [1:1], "false", "true" +oddFireEngine = bits, U32, 1400, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1400, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1400, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1400, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1400, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1400, [7:7], "false", "true" +canReadEnabled = bits, U32, 1400, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1400, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1400, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1400, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1400, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1400, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1400, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1400, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1400, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1400, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1400, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1400, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1400, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1400, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1400, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1400, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1400, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1400, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1400, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1400, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1400, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1400, [29:29], "false", "true" +twoStroke = bits, U32, 1400, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1400, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1404, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1406, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1408, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1409, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1410, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1412, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1412, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1412, [2:2], "false", "true" +complexWallModel = bits, U32, 1412, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1412, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1412, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1412, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1412, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1412, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1412, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1412, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1412, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1412, [12:12], "false", "true" +hondaK = bits, U32, 1412, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1412, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1412, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1412, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1412, [17:17], "false", "true" +flexCranking = bits, U32, 1412, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1412, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1412, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1412, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1412, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1412, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1412, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1412, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1412, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1412, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1412, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1412, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1412, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1412, [31:31], "false", "true" +engineChartSize = scalar, U32, 1416, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1420, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1424, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1426, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1428, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1430, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1432, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1434, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1436, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1440, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1444, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1448, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1452, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1456, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1460, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1464, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1468, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1480, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1482, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1484, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1486, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1488, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1492, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1496, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1500, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1502, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1504, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1506, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1508, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1510, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1512, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1514, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1516, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1518, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1520, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1522, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1524, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1526, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1528, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1532, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1536, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1538, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1540, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1544, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1548, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1552, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1554, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1556, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1558, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1560, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1564, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1566, [0:7], $gpio_list +auxValves1 = bits, U16, 1568, [0:7], $gpio_list +auxValves2 = bits, U16, 1570, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1572, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1574, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1576, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1580, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1584, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1586, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1588, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1592, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1592, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1592, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1592, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1592, [4:4], "false", "true" +afterCrankingIACtaperDuration = scalar, S16, 1596, "cycles", 1, 0, 0, 5000, 0 +iacByTpsTaper = scalar, S16, 1598, "percent", 1, 0, 0, 500, 0 +auxSerialTxPin = bits, U16, 1600, [0:7], $gpio_list +auxSerialRxPin = bits, U16, 1602, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1604, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1606, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1607, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1608, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1609, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1616, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1618, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1620, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1621, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1622, [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, 1623, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1624, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1628, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1632, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1636, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1640, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1644, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1648, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1649, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1650, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1651, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1652, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1653, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1654, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1655, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1656, [0:0], "false", "true" +canOpenBLT = bits, U32, 1656, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1656, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1656, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1656, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1656, [5:5], "false", "true" +can1ListenMode = bits, U32, 1656, [6:6], "false", "true" +can2ListenMode = bits, U32, 1656, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1660, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1661, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1662, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1664, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1665, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1666, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1668, [0:7], $gpio_list +can2RxPin = bits, U16, 1670, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1672, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1673, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1674, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1675, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1676, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1678, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1680, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1684, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1700, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1716, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1720, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1724, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1728, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1732, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1734, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1736, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1738, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1740, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1744, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1748, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1752, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1756, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1760, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1764, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1766, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1767, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1768, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1772, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1773, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1774, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1775, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1776, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1777, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1778, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1779, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1780, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1781, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1782, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1783, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1790, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1792, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1794, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1796, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1798, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1800, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1802, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1804, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1806, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1808, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1809, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1810, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1811, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1812, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1816, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1960, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1984, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 2008, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 2012, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2016, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2020, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2024, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2028, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2032, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2036, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2040, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2044, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2048, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2052, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2056, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2060, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2064, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2068, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2072, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2074, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2076, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2080, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2084, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2088, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2090, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2092, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2094, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2096, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2097, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2098, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2099, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2132, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2136, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2140, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2144, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2148, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2152, [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, 2153, [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, 2154, [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, 2155, [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, 2156, [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, 2157, [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, 2158, [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, 2159, [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, 2160, [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, 2161, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2162, [0:7], $gpio_list +mc33816_driven = bits, U16, 2164, [0:7], $gpio_list +brakePedalPin = bits, U16, 2166, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2168, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2172, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2184, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2186, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2188, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2190, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2192, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2196, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2200, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2204, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2206, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2208, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2210, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2228, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2232, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2236, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2240, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2244, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2272, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2274, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2276, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2277, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2278, [0:7], $gpio_list +tle8888_cs = bits, U16, 2280, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2282, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2284, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2288, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2292, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2294, [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" +launchFuelAdderPercent = scalar, S08, 2296, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2297, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2298, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2300, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2304, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2306, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2308, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2310, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2312, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2314, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2316, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2320, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2324, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2328, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2332, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2336, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2340, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2344, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2348, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2352, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2356, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2360, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2368, 16 +scriptCurveName2 = string, ASCII, 2384, 16 +scriptCurveName3 = string, ASCII, 2400, 16 +scriptCurveName4 = string, ASCII, 2416, 16 +scriptCurveName5 = string, ASCII, 2432, 16 +scriptCurveName6 = string, ASCII, 2448, 16 +scriptTableName1 = string, ASCII, 2464, 16 +scriptTableName2 = string, ASCII, 2480, 16 +scriptTableName3 = string, ASCII, 2496, 16 +scriptTableName4 = string, ASCII, 2512, 16 +scriptSettingName1 = string, ASCII, 2528, 16 +scriptSettingName2 = string, ASCII, 2544, 16 +scriptSettingName3 = string, ASCII, 2560, 16 +scriptSettingName4 = string, ASCII, 2576, 16 +scriptSettingName5 = string, ASCII, 2592, 16 +scriptSettingName6 = string, ASCII, 2608, 16 +scriptSettingName7 = string, ASCII, 2624, 16 +scriptSettingName8 = string, ASCII, 2640, 16 +tChargeAirCoefMin = scalar, F32, 2656, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2660, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2664, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2668, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2672, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2676, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2680, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2684, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2686, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2688, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2692, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2696, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2700, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2702, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2704, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2708, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2712, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2714, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2716, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2720, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2721, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2722, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2724, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2725, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2726, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2728, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2732, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2733, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2734, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2735, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2736, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2737, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2738, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2739, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2740, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2741, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2742, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2743, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2744, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2752, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2753, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2754, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2755, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2756, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2768, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2774, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2775, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2776, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2780, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2782, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2784, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2786, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2787, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2788, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2789, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2790, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2806, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2822, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2888, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2890, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2892, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2894, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2895, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2896, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2897, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2898, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2914, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2930, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2996, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2998, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 3000, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 3002, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 3003, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 3004, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3005, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3006, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3022, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3038, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3104, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3106, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3108, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3110, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3111, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3112, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3113, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3114, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3130, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3146, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3212, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3214, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3216, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3218, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3220, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3222, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3224, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3226, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3228, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3233, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3234, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3235, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3236, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3237, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3238, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3239, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3384, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3388, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3392, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3396, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3400, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3401, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3402, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3404, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3406, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3410, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3411, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3412, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3413, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3414, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3416, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3418, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3419, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3420, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3422, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3424, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3426, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3442, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3458, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3466, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3482, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3682, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3702, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3712, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3812, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3832, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3842, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3844, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3846, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3848, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3854, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3856, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3858, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3860, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3862, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3864, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3866, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3868, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3870, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3872, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3880, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3888, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3896, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3904, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3912, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3920, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3956, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3968, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3980, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3981, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3982, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3984, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3988, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3992, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3996, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 4000, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 4004, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 4008, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 4012, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4016, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4020, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4028, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4030, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4032, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4034, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4036, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4038, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4040, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4042, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4044, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4046, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4048, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4052, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4054, 17 +highSpeedOffsets = array, U16, 4072, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4136, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4140, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4142, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4144, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4146, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4148, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4150, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4152, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4154, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4156, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4158, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4162, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4164, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4166, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4168, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4169, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4170, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4171, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4172, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4173, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4174, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4176, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4180, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4184, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4188, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4189, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4190, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4191, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4192, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4193, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4194, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4195, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4196, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4197, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4198, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4199, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4200, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4202, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4204, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4205, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4206, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4208, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4210, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4211, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4212, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4213, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4214, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4216, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4217, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4228, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4232, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4233, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4234, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4236, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4238, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4240, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4242, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4244, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4246, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4247, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4248, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4249, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4250, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4251, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4252, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4256, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4260, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4264, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4268, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4272, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4276, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4280, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4284, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4288, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4292, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4296, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4300, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4304, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4308, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4312, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4316, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4320, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4324, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4328, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4332, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4336, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4340, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4344, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4348, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4352, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4356, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4360, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4364, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4368, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4372, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4376, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4380, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4384, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4385, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4386, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4388, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4390, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4392, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4394, "", 1, 0, 0, 100, 0 +simulatorCamPosition2 = scalar, U08, 4395, "", 1, 0, 0, 100, 0 +simulatorCamPosition3 = scalar, U08, 4396, "", 1, 0, 0, 100, 0 +simulatorCamPosition4 = scalar, U08, 4397, "", 1, 0, 0, 100, 0 +ignKeyAdcChannel = bits, U08, 4398, [0:5], $adc_channel_e_list +unusedExplicitFilling2 = scalar, U08, 4399, "", 1, 0, 0, 100, 0 +triggerVVTGapOverrideFrom1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4416, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4420, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4424, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4428, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4432, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4468, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4469, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4470, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4478, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4480, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4482, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4484, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4486, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4488, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4490, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4492, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4494, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4496, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4664, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4696, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4728, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4792, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4800, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4808, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4824, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4840, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4856, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4872, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4904, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4936, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 5000, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5064, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5128, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5192, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5224, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5256, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5288, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5320, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5352, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5384, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5416, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5448, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5464, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5480, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5544, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5576, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5608, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5616, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5624, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5640, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5656, 120 +afterstartCoolantBins = array, F32, 5776, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5808, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5840, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5872, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5904, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5968, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5976, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6040, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6048, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6112, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6120, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6128, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6160, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6192, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6200, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6232, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6236, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6240, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6272, 8000 +cltFuelCorrBins = array, F32, 14272, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14336, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14400, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14464, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14528, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14560, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14592, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14624, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14656, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14720, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14784, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14912, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15696, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17608, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17608, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17864, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17896, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17928, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18184, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18216, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18248, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18504, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18520, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18536, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18600, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18616, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18632, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18696, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18712, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18728, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18808, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18824, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18844, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18852, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19052, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19060, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19244, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19260, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19276, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19364, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19372, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19380, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19388, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19396, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19404, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19412, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19420, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19456, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19462, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19468, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19504, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19510, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19516, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19548, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19556, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19564, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19596, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19604, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19612, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19644, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19652, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19660, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19788, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19804, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19822, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19838, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19848, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19976, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19992, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20010, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20026, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20036, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20164, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20180, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20198, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20214, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20224, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20352, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20368, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20386, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20402, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20412, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20540, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20556, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20574, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20590, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20600, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20728, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20744, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20762, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20778, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20788, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20916, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20932, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20950, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20966, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20976, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21104, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21120, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21138, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21154, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21164, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21188, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21212, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21340, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21356, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21374, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21390, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21400, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21528, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21544, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21562, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21578, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21588, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21716, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21732, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21750, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21766, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21776, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21904, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21920, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21938, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21954, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21964, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21970, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21976, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21982, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21988, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21994, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 22000, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 22006, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 22012, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22018, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22024, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22030, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22046, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22054, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22062, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22098, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22110, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22124 +lambdaLoadBins = array, U16, 17932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18796, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18876, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18892, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18912, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18920, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19104, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19120, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19128, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19312, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19328, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19344, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19432, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19440, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19448, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19456, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19464, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19472, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19480, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19488, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19524, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19530, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19536, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19572, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19578, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19584, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19616, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19624, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19632, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19664, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19672, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19680, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19712, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19720, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19728, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19856, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19872, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19888, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19890, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19906, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19916, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20044, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20060, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20076, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20078, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20094, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20104, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20232, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20248, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20264, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20266, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20282, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20292, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20420, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20436, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20452, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20454, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20470, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20480, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20608, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20624, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20640, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20642, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20658, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20668, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20796, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20812, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20828, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20830, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20846, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20856, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20984, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21000, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21016, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21018, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21034, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21044, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21172, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21188, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21204, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21206, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21222, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21232, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21256, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21280, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21408, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21424, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21440, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21442, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21458, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21468, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21596, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21612, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21628, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21630, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21646, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21656, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21784, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21800, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21816, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21818, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21834, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21844, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21972, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21988, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22004, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22006, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22022, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22032, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22038, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22044, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22050, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22056, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22062, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22068, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22074, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22080, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22086, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22092, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22098, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22114, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22122, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22130, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22166, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22178, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22192 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1606,6 +1609,8 @@ injectorStagingRpmBins = array, U16, 22110, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3458,6 +3463,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5528,7 +5541,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6821,7 +6837,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6840,9 +6856,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6856,9 +6870,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini index 3d0cbe519b..96de7489e9 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.alphax-8chan_f7.2710992304" + signature = "rusEFI master.2024.01.17.alphax-8chan_f7.809234667" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.alphax-8chan_f7.2710992304" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.alphax-8chan_f7.809234667" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","3A - Aux Analog 2","On-board MAP","32A - PPS Sensor Input","31A - TPS Sensor Input","24 - Ignition Key Voltage","INVALID","INVALID","19A - Aux Analog 6","1A - Aux Analog 1","2A - Aux Analog 4","INVALID","29A - CLT Sensor Input","27A - IAT Sensor Input","INVALID","12A - Aux Analog 8","INVALID","11A - Aux Analog 3","INVALID","34A - PPS2 Sensor Input","33A - TPS2 Sensor Input","INVALID","INVALID","INVALID","4A - Aux Analog 7","INVALID","10A - Aux Analog 5","INVALID","28A - Aux Temp 2","28A - Aux Temp 1","INVALID","20A - Aux Analog 9" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:25 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:19 UTC 2024 -pageSize = 22124 +pageSize = 22192 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1486 +112,1489 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -vrThreshold3_rpmBins = array, U08, 1248, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold3_values = array, U08, 1254, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold3_pin = bits, U16, 1260, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1264, 16 -gpPwmNote2 = string, ASCII, 1280, 16 -gpPwmNote3 = string, ASCII, 1296, 16 -gpPwmNote4 = string, ASCII, 1312, 16 -tps2SecondaryMin = scalar, U16, 1328, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1330, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1332, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1332, [1:1], "false", "true" -oddFireEngine = bits, U32, 1332, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1332, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1332, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1332, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1332, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1332, [7:7], "false", "true" -canReadEnabled = bits, U32, 1332, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1332, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1332, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1332, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1332, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1332, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1332, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1332, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1332, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1332, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1332, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1332, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1332, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1332, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1332, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1332, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1332, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1332, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1332, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1332, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1332, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1332, [29:29], "false", "true" -twoStroke = bits, U32, 1332, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1332, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1336, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1338, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1340, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1341, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1342, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1344, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1344, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1344, [2:2], "false", "true" -complexWallModel = bits, U32, 1344, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1344, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1344, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1344, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1344, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1344, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1344, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1344, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1344, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1344, [12:12], "false", "true" -hondaK = bits, U32, 1344, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1344, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1344, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1344, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1344, [17:17], "false", "true" -flexCranking = bits, U32, 1344, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1344, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1344, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1344, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1344, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1344, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1344, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1344, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1344, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1344, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1344, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1344, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1344, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1344, [31:31], "false", "true" -engineChartSize = scalar, U32, 1348, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1352, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1356, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1358, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1360, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1362, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1364, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1366, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1368, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1372, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1376, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1380, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1384, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1388, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1392, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1396, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1400, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1412, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1414, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1416, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1418, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1420, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1424, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1428, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1432, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1434, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1436, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1438, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1440, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1442, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1444, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1446, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1448, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1450, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1452, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1454, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1456, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1458, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1460, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1464, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1468, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1470, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1492, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1496, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1498, [0:7], $gpio_list -auxValves1 = bits, U16, 1500, [0:7], $gpio_list -auxValves2 = bits, U16, 1502, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1504, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1506, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1508, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1512, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1516, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1518, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1520, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1524, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1524, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1524, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1524, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1524, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1528, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1530, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1532, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1534, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1536, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1538, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1539, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1540, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1541, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1548, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1550, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1552, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1553, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1554, [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, 1555, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1556, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1560, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1564, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1568, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1572, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1576, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1580, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1581, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1582, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1583, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1584, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1585, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1586, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1587, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1588, [0:0], "false", "true" -canOpenBLT = bits, U32, 1588, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1588, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1588, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1588, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1588, [5:5], "false", "true" -can1ListenMode = bits, U32, 1588, [6:6], "false", "true" -can2ListenMode = bits, U32, 1588, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1592, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1593, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1594, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1596, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1597, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1598, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1600, [0:7], $gpio_list -can2RxPin = bits, U16, 1602, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1604, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1605, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1606, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1607, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1608, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1610, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1612, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1616, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1632, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1648, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1652, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1656, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1660, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1664, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1666, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1668, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1670, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1672, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1676, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1680, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1684, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1688, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1692, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1696, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1698, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1699, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1700, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1704, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1705, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1706, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1707, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1708, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1709, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1710, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1711, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1712, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1713, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1714, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1715, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1722, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1724, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1726, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1728, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1730, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1732, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1734, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1736, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1738, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1740, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1741, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1742, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1743, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1744, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1748, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1892, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1916, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1940, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1944, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1948, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1952, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1956, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1960, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1964, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1968, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1972, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1976, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1980, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1984, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1988, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1992, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1996, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 2000, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 2004, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 2006, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 2008, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 2012, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2016, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2020, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2022, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2024, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2026, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2028, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2029, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2030, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2031, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2064, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2068, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2072, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2076, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2080, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2084, [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, 2085, [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, 2086, [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, 2087, [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, 2088, [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, 2089, [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, 2090, [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, 2091, [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, 2092, [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, 2093, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2094, [0:7], $gpio_list -mc33816_driven = bits, U16, 2096, [0:7], $gpio_list -brakePedalPin = bits, U16, 2098, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2100, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2104, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2116, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2118, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2120, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2122, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2124, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2128, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2132, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2136, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2138, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2140, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2142, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2160, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2164, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2168, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2172, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2176, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2184, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2188, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2192, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2196, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2200, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2204, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2206, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2208, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2209, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2210, [0:7], $gpio_list -tle8888_cs = bits, U16, 2212, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2214, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2216, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2220, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2224, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2226, [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" -launchFuelAdderPercent = scalar, S08, 2228, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2229, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2230, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2232, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2236, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2238, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2240, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2242, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2244, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2246, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2248, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2252, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2256, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2260, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2264, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2268, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2272, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2276, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2280, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2284, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2288, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2292, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2300, 16 -scriptCurveName2 = string, ASCII, 2316, 16 -scriptCurveName3 = string, ASCII, 2332, 16 -scriptCurveName4 = string, ASCII, 2348, 16 -scriptCurveName5 = string, ASCII, 2364, 16 -scriptCurveName6 = string, ASCII, 2380, 16 -scriptTableName1 = string, ASCII, 2396, 16 -scriptTableName2 = string, ASCII, 2412, 16 -scriptTableName3 = string, ASCII, 2428, 16 -scriptTableName4 = string, ASCII, 2444, 16 -scriptSettingName1 = string, ASCII, 2460, 16 -scriptSettingName2 = string, ASCII, 2476, 16 -scriptSettingName3 = string, ASCII, 2492, 16 -scriptSettingName4 = string, ASCII, 2508, 16 -scriptSettingName5 = string, ASCII, 2524, 16 -scriptSettingName6 = string, ASCII, 2540, 16 -scriptSettingName7 = string, ASCII, 2556, 16 -scriptSettingName8 = string, ASCII, 2572, 16 -tChargeAirCoefMin = scalar, F32, 2588, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2592, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2596, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2600, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2604, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2608, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2612, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2616, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2618, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2620, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2624, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2628, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2632, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2634, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2636, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2640, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2644, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2646, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2648, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2652, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2653, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2654, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2656, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2657, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2658, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2660, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2664, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2665, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2666, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2667, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2668, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2669, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2670, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2671, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2672, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2673, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2674, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2675, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2676, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2684, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2685, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2686, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2687, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2688, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2700, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2706, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2707, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2708, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2712, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2714, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2716, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2718, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2719, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2720, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2721, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2722, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2738, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2754, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2820, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2822, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2824, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2826, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2827, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2828, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2829, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2830, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2846, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2862, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2928, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2930, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2932, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2934, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2935, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2937, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2938, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2954, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2970, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3036, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3038, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3040, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3042, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3043, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3044, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3045, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3046, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3062, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3078, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3144, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3146, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3148, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3150, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3152, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3154, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3156, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3158, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3160, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3165, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3166, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3167, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3168, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3169, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3170, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3171, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3332, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3333, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3334, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3336, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3338, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3342, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3343, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3344, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3345, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3346, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3348, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3350, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3351, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3352, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3354, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3356, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3358, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3374, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3390, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3398, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3414, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3614, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3634, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3644, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3744, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3764, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3774, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3776, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3778, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3780, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3786, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3788, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3790, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3792, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3794, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3796, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3798, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3800, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3802, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3804, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3812, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3820, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3828, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3836, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3844, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3852, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3888, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3900, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3912, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3913, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3914, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3916, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3920, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3924, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3928, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3932, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3936, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3940, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3944, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3948, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3952, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3960, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3962, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3964, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3966, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3968, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3970, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3972, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3974, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3976, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3978, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3980, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3984, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3986, 17 -highSpeedOffsets = array, U16, 4004, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4068, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4072, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4074, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4076, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4078, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4080, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4082, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4084, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4086, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4088, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4090, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4094, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4096, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4098, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4100, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4101, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4102, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4103, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4104, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4105, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4106, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4108, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4112, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4116, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4120, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4121, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4122, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4123, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4124, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4125, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4126, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4127, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4128, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4129, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4130, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4131, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4132, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4134, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4136, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4137, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4138, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4140, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4142, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4143, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4144, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4145, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4146, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4148, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4149, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4160, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4164, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4165, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4166, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4168, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4170, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4172, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4174, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4176, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4184, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4188, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4192, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4196, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4200, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4204, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4208, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4212, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4216, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4220, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4224, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4228, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4232, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4236, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4240, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4244, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4248, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4252, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4256, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4260, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4264, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4268, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4272, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4276, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4280, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4284, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4288, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4292, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4296, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4300, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4304, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4308, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4312, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4316, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4317, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4318, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4320, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4322, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4324, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4326, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4327, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4328, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4329, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4330, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4331, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4348, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4352, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4356, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4360, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4364, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4400, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4401, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4402, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4410, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4412, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4414, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4416, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4418, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4420, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4422, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4424, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4426, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4428, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4596, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4628, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4660, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4724, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4732, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4740, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4756, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4772, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4788, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4804, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4836, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4868, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4932, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4996, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5060, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5124, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5156, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5188, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5220, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5252, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5284, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5316, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5348, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5380, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5396, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5412, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5476, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5508, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5540, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5548, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5556, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5572, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5588, 120 -afterstartCoolantBins = array, F32, 5708, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5740, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5772, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5804, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5836, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5900, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5908, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5972, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5980, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6044, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6052, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6060, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6092, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6124, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6132, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6164, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6168, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6172, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6204, 8000 -cltFuelCorrBins = array, F32, 14204, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14268, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14332, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14396, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14460, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14492, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14524, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14556, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14588, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14652, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14716, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14844, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14972, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15036, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15044, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15052, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15564, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15596, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15628, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15688, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16200, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16232, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16264, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16328, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16344, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16360, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16424, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16440, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16456, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16968, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17000, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17032, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17544, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17576, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +vrThreshold3_rpmBins = array, U08, 1316, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold3_values = array, U08, 1322, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold3_pin = bits, U16, 1328, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1332, 16 +gpPwmNote2 = string, ASCII, 1348, 16 +gpPwmNote3 = string, ASCII, 1364, 16 +gpPwmNote4 = string, ASCII, 1380, 16 +tps2SecondaryMin = scalar, U16, 1396, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1398, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1400, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1400, [1:1], "false", "true" +oddFireEngine = bits, U32, 1400, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1400, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1400, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1400, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1400, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1400, [7:7], "false", "true" +canReadEnabled = bits, U32, 1400, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1400, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1400, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1400, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1400, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1400, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1400, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1400, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1400, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1400, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1400, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1400, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1400, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1400, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1400, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1400, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1400, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1400, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1400, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1400, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1400, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1400, [29:29], "false", "true" +twoStroke = bits, U32, 1400, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1400, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1404, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1406, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1408, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1409, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1410, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1412, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1412, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1412, [2:2], "false", "true" +complexWallModel = bits, U32, 1412, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1412, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1412, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1412, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1412, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1412, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1412, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1412, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1412, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1412, [12:12], "false", "true" +hondaK = bits, U32, 1412, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1412, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1412, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1412, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1412, [17:17], "false", "true" +flexCranking = bits, U32, 1412, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1412, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1412, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1412, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1412, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1412, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1412, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1412, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1412, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1412, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1412, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1412, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1412, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1412, [31:31], "false", "true" +engineChartSize = scalar, U32, 1416, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1420, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1424, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1426, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1428, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1430, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1432, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1434, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1436, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1440, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1444, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1448, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1452, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1456, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1460, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1464, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1468, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1480, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1482, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1484, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1486, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1488, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1492, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1496, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1500, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1502, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1504, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1506, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1508, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1510, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1512, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1514, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1516, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1518, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1520, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1522, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1524, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1526, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1528, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1532, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1536, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1538, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1540, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1544, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1548, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1552, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1554, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1556, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1558, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1560, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1564, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1566, [0:7], $gpio_list +auxValves1 = bits, U16, 1568, [0:7], $gpio_list +auxValves2 = bits, U16, 1570, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1572, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1574, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1576, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1580, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1584, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1586, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1588, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1592, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1592, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1592, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1592, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1592, [4:4], "false", "true" +afterCrankingIACtaperDuration = scalar, S16, 1596, "cycles", 1, 0, 0, 5000, 0 +iacByTpsTaper = scalar, S16, 1598, "percent", 1, 0, 0, 500, 0 +auxSerialTxPin = bits, U16, 1600, [0:7], $gpio_list +auxSerialRxPin = bits, U16, 1602, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1604, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1606, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1607, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1608, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1609, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1616, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1618, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1620, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1621, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1622, [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, 1623, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1624, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1628, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1632, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1636, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1640, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1644, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1648, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1649, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1650, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1651, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1652, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1653, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1654, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1655, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1656, [0:0], "false", "true" +canOpenBLT = bits, U32, 1656, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1656, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1656, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1656, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1656, [5:5], "false", "true" +can1ListenMode = bits, U32, 1656, [6:6], "false", "true" +can2ListenMode = bits, U32, 1656, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1660, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1661, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1662, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1664, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1665, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1666, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1668, [0:7], $gpio_list +can2RxPin = bits, U16, 1670, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1672, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1673, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1674, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1675, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1676, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1678, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1680, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1684, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1700, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1716, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1720, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1724, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1728, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1732, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1734, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1736, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1738, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1740, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1744, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1748, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1752, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1756, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1760, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1764, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1766, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1767, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1768, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1772, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1773, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1774, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1775, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1776, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1777, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1778, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1779, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1780, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1781, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1782, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1783, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1790, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1792, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1794, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1796, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1798, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1800, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1802, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1804, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1806, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1808, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1809, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1810, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1811, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1812, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1816, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1960, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1984, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 2008, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 2012, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2016, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2020, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2024, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2028, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2032, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2036, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2040, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2044, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2048, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2052, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2056, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2060, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2064, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2068, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2072, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2074, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2076, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2080, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2084, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2088, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2090, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2092, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2094, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2096, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2097, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2098, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2099, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2132, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2136, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2140, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2144, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2148, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2152, [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, 2153, [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, 2154, [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, 2155, [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, 2156, [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, 2157, [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, 2158, [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, 2159, [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, 2160, [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, 2161, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2162, [0:7], $gpio_list +mc33816_driven = bits, U16, 2164, [0:7], $gpio_list +brakePedalPin = bits, U16, 2166, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2168, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2172, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2184, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2186, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2188, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2190, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2192, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2196, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2200, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2204, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2206, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2208, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2210, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2228, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2232, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2236, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2240, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2244, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2272, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2274, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2276, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2277, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2278, [0:7], $gpio_list +tle8888_cs = bits, U16, 2280, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2282, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2284, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2288, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2292, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2294, [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" +launchFuelAdderPercent = scalar, S08, 2296, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2297, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2298, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2300, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2304, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2306, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2308, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2310, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2312, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2314, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2316, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2320, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2324, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2328, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2332, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2336, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2340, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2344, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2348, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2352, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2356, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2360, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2368, 16 +scriptCurveName2 = string, ASCII, 2384, 16 +scriptCurveName3 = string, ASCII, 2400, 16 +scriptCurveName4 = string, ASCII, 2416, 16 +scriptCurveName5 = string, ASCII, 2432, 16 +scriptCurveName6 = string, ASCII, 2448, 16 +scriptTableName1 = string, ASCII, 2464, 16 +scriptTableName2 = string, ASCII, 2480, 16 +scriptTableName3 = string, ASCII, 2496, 16 +scriptTableName4 = string, ASCII, 2512, 16 +scriptSettingName1 = string, ASCII, 2528, 16 +scriptSettingName2 = string, ASCII, 2544, 16 +scriptSettingName3 = string, ASCII, 2560, 16 +scriptSettingName4 = string, ASCII, 2576, 16 +scriptSettingName5 = string, ASCII, 2592, 16 +scriptSettingName6 = string, ASCII, 2608, 16 +scriptSettingName7 = string, ASCII, 2624, 16 +scriptSettingName8 = string, ASCII, 2640, 16 +tChargeAirCoefMin = scalar, F32, 2656, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2660, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2664, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2668, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2672, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2676, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2680, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2684, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2686, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2688, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2692, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2696, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2700, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2702, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2704, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2708, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2712, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2714, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2716, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2720, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2721, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2722, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2724, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2725, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2726, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2728, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2732, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2733, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2734, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2735, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2736, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2737, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2738, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2739, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2740, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2741, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2742, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2743, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2744, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2752, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2753, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2754, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2755, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2756, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2768, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2774, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2775, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2776, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2780, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2782, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2784, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2786, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2787, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2788, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2789, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2790, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2806, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2822, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2888, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2890, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2892, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2894, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2895, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2896, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2897, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2898, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2914, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2930, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2996, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2998, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 3000, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 3002, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 3003, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 3004, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3005, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3006, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3022, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3038, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3104, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3106, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3108, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3110, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3111, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3112, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3113, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3114, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3130, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3146, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3212, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3214, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3216, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3218, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3220, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3222, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3224, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3226, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3228, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3233, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3234, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3235, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3236, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3237, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3238, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3239, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3384, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3388, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3392, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3396, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3400, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3401, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3402, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3404, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3406, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3410, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3411, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3412, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3413, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3414, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3416, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3418, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3419, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3420, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3422, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3424, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3426, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3442, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3458, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3466, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3482, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3682, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3702, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3712, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3812, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3832, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3842, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3844, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3846, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3848, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3854, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3856, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3858, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3860, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3862, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3864, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3866, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3868, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3870, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3872, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3880, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3888, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3896, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3904, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3912, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3920, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3956, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3968, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3980, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3981, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3982, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3984, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3988, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3992, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3996, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 4000, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 4004, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 4008, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 4012, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4016, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4020, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4028, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4030, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4032, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4034, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4036, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4038, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4040, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4042, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4044, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4046, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4048, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4052, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4054, 17 +highSpeedOffsets = array, U16, 4072, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4136, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4140, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4142, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4144, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4146, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4148, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4150, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4152, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4154, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4156, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4158, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4162, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4164, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4166, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4168, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4169, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4170, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4171, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4172, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4173, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4174, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4176, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4180, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4184, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4188, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4189, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4190, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4191, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4192, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4193, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4194, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4195, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4196, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4197, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4198, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4199, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4200, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4202, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4204, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4205, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4206, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4208, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4210, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4211, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4212, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4213, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4214, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4216, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4217, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4228, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4232, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4233, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4234, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4236, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4238, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4240, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4242, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4244, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4246, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4247, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4248, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4249, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4250, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4251, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4252, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4256, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4260, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4264, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4268, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4272, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4276, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4280, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4284, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4288, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4292, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4296, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4300, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4304, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4308, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4312, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4316, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4320, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4324, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4328, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4332, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4336, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4340, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4344, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4348, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4352, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4356, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4360, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4364, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4368, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4372, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4376, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4380, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4384, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4385, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4386, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4388, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4390, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4392, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4394, "", 1, 0, 0, 100, 0 +simulatorCamPosition2 = scalar, U08, 4395, "", 1, 0, 0, 100, 0 +simulatorCamPosition3 = scalar, U08, 4396, "", 1, 0, 0, 100, 0 +simulatorCamPosition4 = scalar, U08, 4397, "", 1, 0, 0, 100, 0 +ignKeyAdcChannel = bits, U08, 4398, [0:5], $adc_channel_e_list +unusedExplicitFilling2 = scalar, U08, 4399, "", 1, 0, 0, 100, 0 +triggerVVTGapOverrideFrom1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4416, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4420, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4424, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4428, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4432, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4468, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4469, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4470, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4478, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4480, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4482, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4484, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4486, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4488, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4490, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4492, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4494, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4496, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4664, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4696, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4728, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4792, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4800, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4808, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4824, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4840, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4856, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4872, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4904, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4936, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 5000, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5064, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5128, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5192, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5224, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5256, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5288, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5320, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5352, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5384, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5416, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5448, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5464, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5480, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5544, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5576, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5608, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5616, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5624, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5640, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5656, 120 +afterstartCoolantBins = array, F32, 5776, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5808, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5840, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5872, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5904, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5968, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5976, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6040, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6048, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6112, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6120, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6128, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6160, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6192, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6200, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6232, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6236, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6240, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6272, 8000 +cltFuelCorrBins = array, F32, 14272, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14336, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14400, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14464, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14528, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14560, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14592, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14624, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14656, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14720, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14784, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14912, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15696, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17608, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17608, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17864, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17896, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17928, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18184, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18216, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18248, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18504, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18520, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18536, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18600, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18616, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18632, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18696, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18712, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18728, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18808, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18824, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18844, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18852, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19052, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19060, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19244, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19260, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19276, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19364, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19372, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19380, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19388, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19396, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19404, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19412, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19420, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19456, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19462, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19468, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19504, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19510, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19516, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19548, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19556, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19564, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19596, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19604, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19612, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19644, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19652, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19660, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19788, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19804, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19822, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19838, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19848, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19976, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19992, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20010, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20026, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20036, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20164, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20180, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20198, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20214, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20224, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20352, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20368, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20386, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20402, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20412, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20540, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20556, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20574, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20590, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20600, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20728, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20744, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20762, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20778, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20788, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20916, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20932, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20950, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20966, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20976, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21104, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21120, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21138, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21154, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21164, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21188, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21212, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21340, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21356, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21374, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21390, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21400, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21528, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21544, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21562, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21578, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21588, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21716, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21732, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21750, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21766, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21776, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21904, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21920, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21938, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21954, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21964, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21970, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21976, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21982, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21988, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21994, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 22000, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 22006, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 22012, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22018, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22024, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22030, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22046, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22054, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22062, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22098, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22110, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22124 +lambdaLoadBins = array, U16, 17932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18796, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18876, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18892, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18912, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18920, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19104, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19120, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19128, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19312, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19328, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19344, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19432, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19440, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19448, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19456, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19464, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19472, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19480, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19488, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19524, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19530, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19536, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19572, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19578, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19584, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19616, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19624, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19632, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19664, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19672, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19680, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19712, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19720, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19728, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19856, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19872, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19888, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19890, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19906, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19916, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20044, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20060, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20076, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20078, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20094, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20104, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20232, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20248, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20264, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20266, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20282, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20292, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20420, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20436, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20452, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20454, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20470, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20480, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20608, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20624, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20640, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20642, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20658, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20668, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20796, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20812, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20828, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20830, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20846, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20856, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20984, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21000, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21016, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21018, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21034, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21044, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21172, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21188, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21204, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21206, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21222, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21232, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21256, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21280, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21408, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21424, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21440, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21442, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21458, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21468, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21596, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21612, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21628, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21630, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21646, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21656, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21784, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21800, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21816, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21818, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21834, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21844, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21972, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21988, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22004, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22006, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22022, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22032, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22038, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22044, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22050, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22056, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22062, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22068, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22074, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22080, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22086, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22092, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22098, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22114, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22122, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22130, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22166, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22178, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22192 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1606,6 +1609,8 @@ injectorStagingRpmBins = array, U16, 22110, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3458,6 +3463,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5528,7 +5541,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6821,7 +6837,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6840,9 +6856,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6856,9 +6870,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_at_start_f435.ini b/firmware/tunerstudio/generated/rusefi_at_start_f435.ini index 46c58e1e02..ecc9465012 100644 --- a/firmware/tunerstudio/generated/rusefi_at_start_f435.ini +++ b/firmware/tunerstudio/generated/rusefi_at_start_f435.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.at_start_f435.3208550487" + signature = "rusEFI master.2024.01.17.at_start_f435.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.at_start_f435.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.at_start_f435.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:59 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:52 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 10eb224519..01fd9415ec 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.atlas.4214836249" + signature = "rusEFI master.2024.01.17.atlas.1788135746" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.atlas.4214836249" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.atlas.1788135746" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:52 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:45 UTC 2024 -pageSize = 21608 +pageSize = 21676 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [4], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2730, [4x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2764, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2790, [4], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2798, [4x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2832, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2834, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2836, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2838, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2839, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2840, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2841, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2842, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2858, [4], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2866, [4x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 2900, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 2902, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 2904, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 2906, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 2907, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 2908, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2909, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2910, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 2926, [4], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 2934, [4x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 2968, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 2970, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 2972, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 2974, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 2976, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 2978, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 2980, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 2982, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 2984, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 2986, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 2987, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 2988, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 2989, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 2990, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 2991, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 2992, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 2993, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 2994, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 2995, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3012, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3016, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3020, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3024, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3028, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3032, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3036, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3040, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3044, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3048, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3052, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3056, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3060, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3064, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3068, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3072, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3076, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3080, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3084, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3088, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3092, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3096, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3100, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3104, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3108, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3112, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3116, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3120, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3124, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3128, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3132, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3136, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3140, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3144, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3148, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3152, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3156, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3157, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3158, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3160, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3162, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3166, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3167, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3168, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3169, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3170, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3172, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3174, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3175, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3176, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3178, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3180, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3182, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3198, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3214, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3222, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3238, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3438, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3458, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3468, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3568, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3588, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3598, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3600, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3602, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3604, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3606, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3608, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3610, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3612, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3614, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3616, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3618, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3620, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3622, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3624, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3626, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3628, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3636, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3644, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3652, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3660, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3668, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3676, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3712, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3724, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3736, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3737, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3738, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3740, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3744, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3748, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3752, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3756, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3760, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3764, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3768, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3772, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3776, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3780, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3782, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3784, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3786, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3788, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3790, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3792, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3794, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3796, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3798, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3800, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3802, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3804, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3808, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3810, 17 -highSpeedOffsets = array, U16, 3828, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 3892, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 3896, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 3898, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 3900, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 3902, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 3904, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 3906, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 3908, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 3910, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 3912, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 3914, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 3918, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 3920, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 3922, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 3924, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 3925, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 3926, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 3927, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 3928, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 3929, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 3930, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 3932, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 3936, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 3940, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 3944, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 3945, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 3946, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 3947, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 3948, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 3949, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 3950, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 3951, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 3952, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 3953, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 3954, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 3955, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 3956, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 3958, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 3960, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 3961, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 3962, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 3964, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 3966, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 3967, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 3968, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 3969, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 3970, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 3972, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 3973, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 3984, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 3988, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 3989, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 3990, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 3992, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 3994, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 3996, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 3998, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4000, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4002, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4003, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4004, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4005, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4006, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4007, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4008, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4012, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4016, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4020, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4024, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4028, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4032, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4036, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4040, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4044, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4048, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4052, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4056, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4060, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4064, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4068, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4072, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4076, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4080, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4084, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4088, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4092, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4096, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4100, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4104, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4108, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4112, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4116, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4120, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4124, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4128, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4132, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4136, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4140, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4141, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4142, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4144, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4146, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4148, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4150, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4151, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4152, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4153, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4154, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4155, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4156, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4160, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4164, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4168, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4172, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4176, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4180, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4184, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4188, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4224, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4225, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4226, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4228, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4230, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4232, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4234, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4236, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4238, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4240, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4242, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4244, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4246, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4248, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4250, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4252, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4420, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4452, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4484, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4548, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4556, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4564, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4580, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4596, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4612, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4628, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4660, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4692, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4756, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4820, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4884, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4948, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4980, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5012, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5044, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5076, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5108, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5140, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5172, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5204, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5220, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5236, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5300, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5332, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5364, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5372, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5380, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5396, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5412, 120 -afterstartCoolantBins = array, F32, 5532, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5564, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5596, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5628, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5660, [4x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5692, [4], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5696, [4x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5728, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5736, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5800, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5808, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5816, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5848, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5880, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5888, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5920, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5924, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5928, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5960, 8000 -cltFuelCorrBins = array, F32, 13960, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14024, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14088, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14152, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14216, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14248, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14280, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14312, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14344, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14408, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14472, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14600, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14728, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 14792, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 14800, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 14808, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15320, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15352, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15384, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15444, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 15956, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 15988, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16020, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16084, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16100, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16116, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16180, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16196, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16212, [8x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16468, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16500, [8], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 16516, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17028, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17060, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [4], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2798, [4x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2832, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2834, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2836, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2838, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2839, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2840, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2841, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2842, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2858, [4], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2866, [4x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2900, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2902, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2904, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2906, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2907, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2908, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2909, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2910, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 2926, [4], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 2934, [4x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 2968, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 2970, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 2972, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 2974, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 2975, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 2976, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2977, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2978, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 2994, [4], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3002, [4x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3036, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3038, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3040, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3042, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3044, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3046, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3048, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3050, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3052, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3054, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3055, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3056, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3057, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3058, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3059, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3060, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3061, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3062, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3063, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3080, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3084, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3088, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3092, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3096, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3100, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3104, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3108, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3112, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3116, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3120, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3124, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3128, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3132, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3136, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3140, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3144, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3148, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3152, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3156, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3160, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3164, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3168, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3224, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3225, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3226, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3228, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3230, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3234, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3235, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3236, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3237, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3238, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3240, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3242, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3243, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3244, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3246, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3248, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3250, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3266, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3282, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3290, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3306, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3506, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3526, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3536, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3636, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3656, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3666, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3668, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3670, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3672, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3674, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3676, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3678, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3680, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3682, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3684, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3686, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3688, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3690, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3692, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3694, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3696, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3704, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3712, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3720, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3728, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3736, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3744, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3780, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3792, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3804, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3805, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3806, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3808, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3812, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3816, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3820, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3824, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3828, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3832, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3836, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 3840, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 3844, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 3848, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 3850, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 3852, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 3854, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 3856, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 3858, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 3860, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 3862, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 3864, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 3866, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 3868, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 3870, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 3872, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 3876, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 3878, 17 +highSpeedOffsets = array, U16, 3896, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 3960, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 3964, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 3966, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 3968, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 3970, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 3972, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 3974, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 3976, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 3978, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 3980, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 3982, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 3986, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 3988, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 3990, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 3992, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 3993, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 3994, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 3995, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 3996, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 3997, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 3998, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4000, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4004, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4008, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4012, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4013, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4014, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4015, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4016, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4017, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4018, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4019, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4020, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4021, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4022, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4023, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4024, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4026, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4028, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4029, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4030, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4032, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4034, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4035, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4036, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4037, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4038, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4040, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4041, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4052, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4056, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4057, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4070, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4071, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4072, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4073, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4074, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4075, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4076, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4080, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4084, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4088, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4092, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4096, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4100, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4104, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4108, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4112, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4116, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4120, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4124, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4128, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4132, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4136, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4140, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4144, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4148, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4152, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4156, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4160, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4164, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4168, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4172, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4184, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4196, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4200, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4204, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4208, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4209, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4210, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4212, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4214, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4216, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4218, "", 1, 0, 0, 100, 0 +simulatorCamPosition2 = scalar, U08, 4219, "", 1, 0, 0, 100, 0 +simulatorCamPosition3 = scalar, U08, 4220, "", 1, 0, 0, 100, 0 +simulatorCamPosition4 = scalar, U08, 4221, "", 1, 0, 0, 100, 0 +ignKeyAdcChannel = bits, U08, 4222, [0:5], $adc_channel_e_list +unusedExplicitFilling2 = scalar, U08, 4223, "", 1, 0, 0, 100, 0 +triggerVVTGapOverrideFrom1 = scalar, F32, 4224, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom2 = scalar, F32, 4228, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom3 = scalar, F32, 4232, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideFrom4 = scalar, F32, 4236, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4240, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4244, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4248, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4252, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4256, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4292, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4293, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4294, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4296, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4298, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4300, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4302, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4304, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4306, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4308, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4310, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4312, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4314, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4316, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4318, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4320, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4488, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4520, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4552, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4616, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4624, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4632, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4648, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4664, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4680, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4696, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4728, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4760, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4824, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4888, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4952, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5016, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5048, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5080, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5112, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5144, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5176, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5208, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5240, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5272, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5288, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5304, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5368, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5400, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5432, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5440, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5448, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5464, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5480, 120 +afterstartCoolantBins = array, F32, 5600, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5632, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5664, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5696, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5728, [4x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5760, [4], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5764, [4x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5796, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5804, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5868, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5876, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5884, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5916, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5948, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5956, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5988, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5992, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5996, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6028, 8000 +cltFuelCorrBins = array, F32, 14028, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14092, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14156, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14220, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14284, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14316, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14348, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14380, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14412, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14476, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14540, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14668, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 14796, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 14860, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 14868, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 14876, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15388, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15420, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15452, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15512, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16024, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16056, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16088, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16152, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16168, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16184, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16248, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16264, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16280, [8x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 16536, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 16568, [8], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 16584, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17096, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17128, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17092, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17160, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17092, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17160, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17348, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17380, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17412, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 17668, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 17700, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 17732, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 17988, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18004, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18020, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18084, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18100, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18116, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18180, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18196, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18212, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18292, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18308, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18328, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18336, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18344, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18360, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18376, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18392, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18408, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18424, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18440, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18456, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18472, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18488, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 18504, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 18520, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 18536, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 18544, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 18552, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 18568, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 18584, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 18600, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 18616, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 18632, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 18648, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 18664, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 18680, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 18696, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 18712, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 18728, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 18744, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 18760, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 18768, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 18776, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 18784, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 18792, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 18800, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 18808, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 18816, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 18824, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 18832, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 18840, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 18848, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 18856, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 18864, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 18872, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 18880, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 18888, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 18896, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 18904, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 18940, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 18946, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 18952, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 18988, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 18994, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19000, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19032, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19040, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19048, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19080, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19088, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19096, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19128, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19136, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19144, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19272, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19288, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19304, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19306, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19322, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19332, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19460, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19476, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19492, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19494, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 19510, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 19520, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 19648, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 19664, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 19680, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19682, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 19698, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 19708, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 19836, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 19852, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 19868, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19870, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 19886, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 19896, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20024, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20040, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20056, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20058, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20074, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20084, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20212, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20228, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20244, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20246, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20262, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20272, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20400, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20416, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20432, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20434, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20450, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20460, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 20588, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 20604, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 20620, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20622, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 20638, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 20648, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 20672, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 20696, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 20824, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 20840, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 20856, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20858, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 20874, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 20884, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21012, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21028, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21044, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21046, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21062, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21072, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21200, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21216, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21232, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21234, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21250, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21260, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21388, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21404, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21420, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21422, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21438, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21448, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21454, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21460, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21466, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21472, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21478, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21484, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21490, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21496, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 21502, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 21508, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 21514, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 21530, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 21538, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 21546, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 21582, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 21594, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 21608 +lambdaLoadBins = array, U16, 17416, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17448, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17480, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 17736, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 17768, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 17800, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18056, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18072, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18088, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18152, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18168, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18184, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18248, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18264, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18280, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18360, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18376, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18396, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18404, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18412, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18428, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18444, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18460, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18476, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18492, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 18508, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 18524, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 18540, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 18556, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 18572, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 18588, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 18604, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 18612, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 18620, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 18636, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 18652, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 18668, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 18684, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 18700, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 18716, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 18732, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 18748, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 18764, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 18780, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 18796, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 18812, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 18828, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 18836, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 18844, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 18852, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 18860, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 18868, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 18876, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 18884, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 18892, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 18900, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 18908, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 18916, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 18924, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 18932, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 18940, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 18948, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 18956, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 18964, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 18972, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19008, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19014, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19020, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19056, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19062, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19068, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19100, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19108, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19116, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19148, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19156, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19164, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19196, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19204, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19212, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19340, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19356, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19374, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19390, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19400, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 19528, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 19544, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 19560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19562, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 19578, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 19588, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 19716, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 19732, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 19748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19750, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 19766, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 19776, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 19904, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 19920, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 19936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19938, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 19954, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 19964, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20092, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20108, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20124, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20126, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20142, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20152, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20280, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20296, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20312, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20314, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20330, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20340, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20468, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20484, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 20500, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20502, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 20518, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 20528, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 20656, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 20672, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 20688, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20690, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 20706, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 20716, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 20740, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 20764, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 20892, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 20908, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 20924, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20926, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 20942, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 20952, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21080, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21096, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21112, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21114, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21130, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21140, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21268, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21284, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21300, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21302, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21318, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21328, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21456, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21472, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21488, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21490, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 21506, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 21516, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 21522, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 21528, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 21534, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 21540, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 21546, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 21552, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 21558, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 21564, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 21570, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 21576, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 21582, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 21598, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 21606, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 21614, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 21650, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 21662, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 21676 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 21594, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_cypress.ini b/firmware/tunerstudio/generated/rusefi_cypress.ini index e38e622229..2d8fd041e8 100644 --- a/firmware/tunerstudio/generated/rusefi_cypress.ini +++ b/firmware/tunerstudio/generated/rusefi_cypress.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.cypress.3208550487" + signature = "rusEFI master.2024.01.17.cypress.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.cypress.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.cypress.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:10 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:05 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini index 049fd1d218..c4901bcc2e 100644 --- a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.f407-discovery.1562927191" + signature = "rusEFI master.2024.01.17.f407-discovery.3431326988" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.f407-discovery.1562927191" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.f407-discovery.3431326988" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:57 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:50 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5526,7 +5539,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6820,7 +6836,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6839,9 +6855,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6855,9 +6869,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 5ef7550c46..cd7fc020e7 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.f429-discovery.3208550487" + signature = "rusEFI master.2024.01.17.f429-discovery.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.f429-discovery.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.f429-discovery.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:38 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:30 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_f469-discovery.ini b/firmware/tunerstudio/generated/rusefi_f469-discovery.ini index 15014ea4e4..eb907c2509 100644 --- a/firmware/tunerstudio/generated/rusefi_f469-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f469-discovery.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.f469-discovery.2380897988" + signature = "rusEFI master.2024.01.17.f469-discovery.474225567" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.f469-discovery.2380897988" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.f469-discovery.474225567" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:40 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:33 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 30b0f8293a..6fa872ee31 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.frankenso_na6.4006161532" + signature = "rusEFI master.2024.01.17.frankenso_na6.2137303335" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.frankenso_na6.4006161532" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.frankenso_na6.2137303335" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","Analog 3O","Analog 3L","Analog 3M","Analog 3J","Analog 3I","INVALID","Analog 3H","Analog 3G","INVALID","INVALID","INVALID","Analog 3P","Analog 3Q","Analog 3N","Analog VBatt","Analog 3E" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:23 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:15 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini b/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini index 17cb453cc4..863a572eb1 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen-112-17.1982276257" + signature = "rusEFI master.2024.01.17.hellen-112-17.3884623866" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen-112-17.1982276257" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen-112-17.3884623866" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","B20 TPS Throttle Position 2","A14 Analog Input","INVALID","A21 PPS1","B03 TPS Throttle Position 1","INVALID","A07 TODO","A12 Analog Input","A10 Analog Input","INVALID","B19 MAP","A09 Analog Input","B15 CLT","B27 IAT","A11 Analog Input","A19 Analog Input" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:48 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:43 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6815,7 +6831,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6834,9 +6850,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6850,9 +6864,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini index 0db272b579..84dbd70c3d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen-gm-e67.2634232815" + signature = "rusEFI master.2024.01.17.hellen-gm-e67.212776628" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen-gm-e67.2634232815" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen-gm-e67.212776628" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","C2-60 - Oil Pressure","C3-58 - Baro","C1-47 - PPS1","C2-64 - TPS1","C1-19 Battery Sense","C1-45 Secondary Fuel Level","C3-57 - A/C Pressure","C2-66 - TPS2","C1-44 Primary Fuel Level","C2-65 - Trans Fluids","C3-59 - MAP","C3-55 - CLT","C3-56 - IAT","C1-49 - PPS2","C1-46 Vac Sense" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:58 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:53 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini b/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini index 1cbcd38949..0005dd8e52 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen-honda-k.4178934713" + signature = "rusEFI master.2024.01.17.hellen-honda-k.1756954338" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen-honda-k.4178934713" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen-honda-k.1756954338" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","INVALID","INVALID","INVALID","A15 TPS","E9 Ignition Key Voltage","INVALID","Aux Analog 3","Aux Analog 1","INVALID","A19 - MAP","INVALID","B8 - CLT","B17 IAT","Aux Analog 2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:38 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:32 UTC 2024 -pageSize = 22780 +pageSize = 22848 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [24x24], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17592, [24], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17640, [24], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17688, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18200, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18232, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [24x24], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17660, [24], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17708, [24], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17756, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18268, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18300, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18264, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18332, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18264, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18332, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18520, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18552, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18584, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18840, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18872, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18904, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19160, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19176, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19192, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19256, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19272, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19288, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19352, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19368, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19384, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19464, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19480, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19500, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19508, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19516, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19532, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19548, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19564, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19580, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19596, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19612, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19628, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19644, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19660, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19676, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19692, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19708, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19716, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19724, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19740, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19756, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19772, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19788, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19804, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19820, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19836, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19852, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19868, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19884, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19900, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19916, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19932, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19940, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19948, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19956, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19964, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19972, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19980, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19988, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19996, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20004, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20012, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20020, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20028, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20036, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20044, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20052, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20060, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20068, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20076, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20112, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20118, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20124, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20160, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20166, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20172, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 20204, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20212, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20220, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 20252, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20260, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 20268, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 20300, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 20308, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20316, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20444, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20460, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20476, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20478, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20494, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20504, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20632, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20648, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20664, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20666, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20682, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20692, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20820, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20836, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20852, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20854, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20870, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20880, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21008, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21024, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21040, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21042, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21058, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21068, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21196, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21212, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21228, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21230, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21246, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21256, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21384, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21400, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21416, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21418, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21434, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21444, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21572, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21588, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21604, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21606, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21622, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21632, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21760, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21776, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21792, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21794, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21810, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21820, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21844, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21868, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21996, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22012, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22030, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22046, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22056, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22184, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22200, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22216, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22218, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22234, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22244, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22372, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22388, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22404, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22406, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22422, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22432, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22560, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22576, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22592, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22594, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22610, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 22620, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 22626, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 22632, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 22638, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 22644, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 22650, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 22656, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 22662, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 22668, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22674, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22680, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22686, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22702, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22710, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22718, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22754, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22766, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22780 +lambdaLoadBins = array, U16, 18588, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18620, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18652, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18908, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18940, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18972, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19228, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19244, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19260, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19324, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19340, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19356, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19420, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19436, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19452, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19532, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19548, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19568, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19576, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19584, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19600, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19616, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19632, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19648, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19664, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19680, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19696, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19712, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19728, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19744, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19760, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19776, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19784, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19792, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19808, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19824, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19840, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19856, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19872, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19888, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19904, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19920, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19936, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19952, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19968, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19984, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20000, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20008, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20016, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20024, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20032, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20040, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20048, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20056, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20064, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20072, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20080, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20088, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20096, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20104, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20112, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20120, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20128, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20136, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20144, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20180, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20186, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20192, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20228, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20234, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20240, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 20272, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20280, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20288, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 20320, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20328, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 20336, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 20368, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 20376, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20384, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20512, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20528, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20546, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20562, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20572, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20700, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20716, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20734, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20750, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20760, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20888, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20904, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20922, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20938, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20948, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21076, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21092, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21108, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21110, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21126, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21136, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21264, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21280, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21296, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21298, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21314, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21324, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21452, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21468, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21484, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21486, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21502, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21512, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21640, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21656, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21672, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21674, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21690, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21700, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21828, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21844, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21860, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21862, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21878, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21888, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21912, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21936, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22064, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22080, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22098, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22114, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22124, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22252, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22268, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22284, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22286, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22302, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22312, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22440, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22456, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22472, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22474, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22490, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22500, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22628, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22644, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22660, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 22662, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22678, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22688, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22694, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22700, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22706, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22712, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22718, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22724, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22730, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22736, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22742, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22748, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22754, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22770, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22778, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22786, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22822, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22834, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22848 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22766, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6814,7 +6830,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6833,9 +6849,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6849,9 +6863,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 5e15340673..be01419246 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen-nb1.2740408222" + signature = "rusEFI master.2024.01.17.hellen-nb1.855296709" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen-nb1.2740408222" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen-nb1.855296709" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","2C - O2S","TPS1","intMAP","1G - Steering/RES2","3E - TPS","1B - Battery Sense","2H - CAM","3S - EGR BOOST IN","2A - Pressure Input","2J - CRANK","2L - MAF","3D - MAP","2E - Coolant","2B - IAT","4C - IN TEMP/PPS2","1P - AC Switch" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:56 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:50 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index 7000b6d750..8ae4441854 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen121nissan.3616113600" + signature = "rusEFI master.2024.01.17.hellen121nissan.1176766107" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen121nissan.3616113600" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen121nissan.1176766107" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","51 - MAF","INVALID","Aux P68","106 - PPS 1","50 - TPS 1","109 Ignition Key Voltage","INVALID","INVALID","69 - TPS 2","INVALID","Aux P66","Aux P67","73 - CLT","34 - IAT","98 - PPS 2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:35 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:30 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6814,7 +6830,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6833,9 +6849,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6849,9 +6863,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 63507d32a2..074f5f507d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen121vag.2403829169" + signature = "rusEFI master.2024.01.17.hellen121vag.518652138" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen121vag.2403829169" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen121vag.518652138" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","14 - O2","INVALID","INVALID","34 In PPS1","92 - TPS 1","106 - KNOCK","86 - CAM1","87 - CAM2","84 - TPS2","INVALID","29 In Maf","101 - MAP2","93 - CLT","85 - IAT","35 In PPS2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:32 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:27 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen128.ini b/firmware/tunerstudio/generated/rusefi_hellen128.ini index 8affcc5f17..3d4e335734 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen128.1387049632" + signature = "rusEFI master.2024.01.17.hellen128.3271636987" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen128.1387049632" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen128.3271636987" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","P36_IN_O2S","P32_IN_O2S2","P40_IN_MAP3","C24 - PPS1","E31 - TPS1","Battery Sense","E40 - IN_CAM","P30_IN_AUX4","E34 - TPS2","E37 - Crank Input","E47 - MAF","E23 - MAP","E29 - Coolant Temp","E45 - IAT","C25 - PPS2","P41_IN_AUX3" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:30 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:24 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index 389c21d21a..f036dd65ed 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen154hyundai.327213038" + signature = "rusEFI master.2024.01.17.hellen154hyundai.2184010421" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen154hyundai.327213038" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen154hyundai.2184010421" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","K21 Ambient Temperature","K58 Oil Temp","K54 A/C pressure","PPS 1","TPS 1","K2 Ignition Key Voltage","X10 AIN2","INVALID","TPS 2","X11 AIN1","Map Sensor K31","K10 Sensor","CLT","IAT","PPS 2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:40 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:35 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6814,7 +6830,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6833,9 +6849,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6849,9 +6863,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index 0157d2262d..d87f1345e1 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen72.1071606987" + signature = "rusEFI master.2024.01.17.hellen72.2926766480" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen72.1071606987" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen72.2926766480" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","5N - TPS2","3L - IGN_7 / AFR","intMAP (A15)","5P - PPS1","4V - TPS (A17)","4S/4T - Alternator voltage","3V - CAM (A19)","4J - VTCS/AUX4 (A20)","4F - AC_PRES/AUX1 (A23)","3Y - CRANK (A24)","4X - MAF (A9)","4U - MAP2/Ign8 (A10)","4P - CLT (A11)","4N - IAT (A14)","5M - PPS2 OR TEMPERATURE SENSOR","4AE - EGR/MAP4 (A22)" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:51 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:45 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen81.ini b/firmware/tunerstudio/generated/rusefi_hellen81.ini index d1c8724f1c..73a2566af6 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen81.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen81.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen81.3668838577" + signature = "rusEFI master.2024.01.17.hellen81.1258524138" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen81.3668838577" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen81.1258524138" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","18 - IN_O2S","55 - IN_O2S2","41 - IN_MAP3","78 - IN_PPS","16 - IN_TPS","13 - IN_VIGN","79 - IN_CAM","77 - IN_AUX4","74 - IN_AUX1","15 - IN_CRANK (A24)","37 - IN_MAP1","38 - IN_MAP2","39 - IN_CLT","40 - IN_IAT","75 - IN_AUX2","76 - IN_AUX3" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:53 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:48 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6815,7 +6831,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6834,9 +6850,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6850,9 +6864,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini index ea6b875725..bff9949a0f 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellen88bmw.1806804341" + signature = "rusEFI master.2024.01.17.hellen88bmw.4196147246" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellen88bmw.1806804341" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellen88bmw.4196147246" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","VIN5","VIN6","INVALID","PPS1","73 - TPS","56 - Battery Sense","17 - CAM","Aux BARO","Aux TPS2","16 - CRANK","41 - MAF","Aux MAP","78 - CLT","77 - IAT","Aux PPS2","Aux TPS3" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:43 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:37 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index ca7760b4c8..30561f66b9 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellenNA6.3354382128" + signature = "rusEFI master.2024.01.17.hellenNA6.1447185003" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellenNA6.3354382128" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellenNA6.1447185003" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","3N - O2S","2N - Temperature Sensor","intMAP (A15)","4I - PPS1","TPS Input","1B - Battery Sense","INVALID","4G - PPS2 OR TEMPERATURE SENSOR","4H - TPS2","INVALID","3O - MAF","2M - Pressure Sensor","3Q - CLT","3P - IAT","1V - Clutch Switch","1Q AC Switch" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:01 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:55 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini index a4fc10dec3..3089f53b74 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.hellenNA8_96.3357960792" + signature = "rusEFI master.2024.01.17.hellenNA8_96.1502342915" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.hellenNA8_96.3357960792" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.hellenNA8_96.1502342915" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","2C - O2S","TPS1","intMAP","PPS1","2F - TPS","3B - Battery Sense","3G - CAM","3S - EGR BOOST IN","2A - Pressure Input","3F - CRANK","2B - MAF","INVALID","2G - Coolant","2B - IAT","4C - IN TEMP/PPS2","1K - AC Switch" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:03 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:58 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_kin.ini b/firmware/tunerstudio/generated/rusefi_kin.ini index 85433997a8..2ed8220391 100644 --- a/firmware/tunerstudio/generated/rusefi_kin.ini +++ b/firmware/tunerstudio/generated/rusefi_kin.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.kin.4260323321" + signature = "rusEFI master.2024.01.17.kin.1816320674" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.kin.4260323321" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.kin.1816320674" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="Disabled", "PA2", "PA3", "INVALID", "PD3", "INVALID", "INVALID", "INVALID", "PB12", "PB13", "INVALID", "PE2", "INVALID", "PC14", "PC15", "PC16", "PC17" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:09 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:04 UTC 2024 -pageSize = 20732 +pageSize = 20800 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [8x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15292, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15324, [8], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15340, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15400, [8x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 15656, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 15688, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 15704, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 15768, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 15784, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 15800, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 15864, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 15880, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 15896, [8x8], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16024, [8], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16040, [8], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 16056, [8x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 16312, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 16344, [8], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [8x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15360, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15392, [8], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15408, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15468, [8x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 15724, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 15756, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 15772, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 15836, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 15852, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 15868, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 15932, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 15948, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 15964, [8x8], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 16092, [8], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 16108, [8], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 16124, [8x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 16380, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 16412, [8], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 16360, [8x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 16428, [8x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 16360, [8x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 16428, [8x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 16488, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 16520, [8], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 16536, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 16792, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 16824, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 16856, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 17112, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 17128, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 17144, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 17208, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 17224, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 17240, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 17304, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 17320, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 17336, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 17416, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 17432, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 17452, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 17460, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 17468, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 17484, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 17500, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 17516, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 17532, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 17548, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 17564, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 17580, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 17596, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 17612, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 17628, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 17644, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 17660, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 17668, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 17676, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 17692, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 17708, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 17724, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 17740, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 17756, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 17772, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 17788, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 17804, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 17820, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 17836, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 17852, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 17868, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 17884, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 17892, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 17900, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 17908, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 17916, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 17924, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 17932, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 17940, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 17948, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 17956, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 17964, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 17972, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 17980, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 17988, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 17996, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 18004, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 18012, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 18020, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 18028, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 18064, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 18070, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 18076, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 18112, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 18118, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 18124, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 18156, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 18164, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 18172, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 18204, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 18212, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 18220, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 18252, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 18260, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 18268, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 18396, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 18412, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 18428, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18430, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 18446, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 18456, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 18584, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 18600, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 18616, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18618, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 18634, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 18644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 18772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 18788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 18804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 18822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 18832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 18960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 18976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 18992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 19010, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 19020, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 19148, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 19164, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 19180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19182, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 19198, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 19208, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 19336, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 19352, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 19368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19370, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 19386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 19396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 19524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 19540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 19556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 19574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 19584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 19712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 19728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 19744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 19762, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 19772, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 19796, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 19820, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 19948, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 19964, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 19980, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19982, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 19998, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 20008, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 20136, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 20152, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 20168, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20170, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 20186, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 20196, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 20324, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 20340, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 20356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20358, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 20374, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 20384, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 20512, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 20528, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 20544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20546, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 20562, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 20572, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 20578, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 20584, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 20590, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 20596, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 20602, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 20608, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 20614, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 20620, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 20626, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 20632, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 20638, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 20654, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 20662, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 20670, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 20706, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 20718, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 20732 +lambdaLoadBins = array, U16, 16556, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 16588, [8], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 16604, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 16860, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 16892, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 16924, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 17180, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 17196, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 17212, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 17276, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 17292, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 17308, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 17372, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 17388, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 17404, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 17484, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 17500, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 17520, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 17528, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 17536, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 17552, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 17568, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 17584, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 17600, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 17616, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 17632, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 17648, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 17664, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 17680, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 17696, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 17712, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 17728, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 17736, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 17744, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 17760, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 17776, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 17792, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 17808, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 17824, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 17840, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 17856, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 17872, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 17888, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 17904, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 17920, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 17936, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 17952, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 17960, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 17968, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 17976, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 17984, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 17992, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 18000, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 18008, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 18016, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 18024, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 18032, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 18040, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 18048, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 18056, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 18064, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 18072, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 18080, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 18088, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 18096, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 18132, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 18138, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 18144, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 18180, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 18186, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 18192, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 18224, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 18232, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 18240, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 18272, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 18280, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 18288, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 18320, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 18328, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 18336, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 18464, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 18480, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 18496, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18498, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 18514, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 18524, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 18652, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 18668, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 18684, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18686, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 18702, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 18712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 18840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 18856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 18872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 18874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 18890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 18900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 19028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 19044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 19060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 19078, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 19088, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 19216, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 19232, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 19248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19250, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 19266, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 19276, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 19404, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 19420, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 19436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19438, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 19454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 19464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 19592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 19608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 19624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 19642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 19652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 19780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 19796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 19812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 19830, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 19840, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 19864, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 19888, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 20016, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 20032, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 20048, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20050, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 20066, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 20076, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 20204, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 20220, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 20236, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20238, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 20254, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 20264, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 20392, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 20408, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 20424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20426, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 20442, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 20452, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 20580, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 20596, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 20612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20614, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 20630, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 20640, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 20646, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 20652, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 20658, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 20664, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 20670, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 20676, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 20682, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 20688, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 20694, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 20700, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 20706, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 20722, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 20730, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 20738, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 20774, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 20786, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 20800 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 20718, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_m74_9.ini b/firmware/tunerstudio/generated/rusefi_m74_9.ini index 490aa1eb5b..aedf4c2f2e 100644 --- a/firmware/tunerstudio/generated/rusefi_m74_9.ini +++ b/firmware/tunerstudio/generated/rusefi_m74_9.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.m74_9.3586094972" + signature = "rusEFI master.2024.01.17.m74_9.1142092327" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.m74_9.3586094972" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.m74_9.1142092327" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","MAF/MAP sensor signal","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Pedal position sensor 1 signal PPS1","Pedal position sensor 2 signal PPS2","ETB TPS position sensor 1 signal","ETB TPS position sensor 2 signal" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:13 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:08 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6819,7 +6835,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6838,9 +6854,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6854,9 +6868,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 3340afcbd8..727c6a0c7f 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.mre_f4.4062463693" + signature = "rusEFI master.2024.01.17.mre_f4.1669972886" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.mre_f4.4062463693" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.mre_f4.1669972886" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","18 - AN temp 1","23 - AN temp 2","24 - AN temp 3 or Hall Input","22 - AN temp 4 or Hall Input","28 - AN volt 10, Aux Reuse","INVALID","26 - AN volt 2","31 - AN volt 3","36 - AN volt 8, Aux Reuse","40 - AN volt 9, Aux Reuse","27 - AN volt 1","Battery Sense","19 - AN volt 4","20 - AN volt 5","32 - AN volt 6, Aux Reuse","30 - AN volt 7" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:11 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:06 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [0:7], 0="NONE",3="23 - AN temp 2" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [0:7], 0="NONE",3="23 - AN temp 2" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5526,7 +5539,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6821,7 +6837,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6840,9 +6856,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6856,9 +6870,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index c7e55b00de..42f1748cad 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.mre_f7.4062463693" + signature = "rusEFI master.2024.01.17.mre_f7.1669972886" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.mre_f7.4062463693" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.mre_f7.1669972886" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","18 - AN temp 1","23 - AN temp 2","24 - AN temp 3 or Hall Input","22 - AN temp 4 or Hall Input","28 - AN volt 10, Aux Reuse","INVALID","26 - AN volt 2","31 - AN volt 3","36 - AN volt 8, Aux Reuse","40 - AN volt 9, Aux Reuse","27 - AN volt 1","Battery Sense","19 - AN volt 4","20 - AN volt 5","32 - AN volt 6, Aux Reuse","30 - AN volt 7" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:08 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:03 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [0:7], 0="NONE",3="23 - AN temp 2" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [0:7], 0="NONE",3="23 - AN temp 2" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5526,7 +5539,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6821,7 +6837,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6840,9 +6856,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6856,9 +6870,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_nucleo_h743.ini b/firmware/tunerstudio/generated/rusefi_nucleo_h743.ini index e30a83b2ac..db7f5ac126 100644 --- a/firmware/tunerstudio/generated/rusefi_nucleo_h743.ini +++ b/firmware/tunerstudio/generated/rusefi_nucleo_h743.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.nucleo_h743.3208550487" + signature = "rusEFI master.2024.01.17.nucleo_h743.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.nucleo_h743.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.nucleo_h743.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:50 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:42 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 2298235127..f773809c16 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.prometheus_405.2410304967" + signature = "rusEFI master.2024.01.17.prometheus_405.503828636" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.prometheus_405.2410304967" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.prometheus_405.503828636" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:28 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:20 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6811,7 +6827,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6830,9 +6846,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6846,9 +6860,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 86a32c22f7..651ecb4acb 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.prometheus_469.2410304967" + signature = "rusEFI master.2024.01.17.prometheus_469.503828636" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.prometheus_469.2410304967" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.prometheus_469.503828636" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:25 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:18 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6811,7 +6827,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6830,9 +6846,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6846,9 +6860,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index f9c753414d..bc2670969b 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.proteus_f4.3563007433" + signature = "rusEFI master.2024.01.17.proteus_f4.1173530770" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.proteus_f4.3563007433" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.proteus_f4.1173530770" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","Analog Volt 5","Analog Volt 6","Analog Volt 7","Analog Volt 8","Analog Volt 9","Analog Volt 10","Analog Volt 11","Battery Sense","Analog Temp 3","Analog Temp 4","Analog Volt 1","Analog Volt 2","Analog Volt 3","Analog Volt 4","Analog Temp 1","Analog Temp 2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:32 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:25 UTC 2024 -pageSize = 26108 +pageSize = 26176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 12000 -cltFuelCorrBins = array, F32, 18188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 18252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 18316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 18380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 18444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 18476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 18508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 18540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 18572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 18636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 18700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 18828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 18956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 19020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 19028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 19036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 19548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 19580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 19612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 19672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 20184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 20216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 20248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 20312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 20328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 20344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 20408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 20424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 20440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 20952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 20984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 21016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 21528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 21560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 12000 +cltFuelCorrBins = array, F32, 18256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 18320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 18384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 18448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 18512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 18544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 18576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 18608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 18640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 18704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 18768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 18896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 19024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 19088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 19096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 19104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 19616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 19648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 19680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 19740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 20252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 20284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 20316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 20380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 20396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 20412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 20476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 20492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 20508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 21020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 21052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 21084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 21596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 21628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 21592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 21660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 21592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 21660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 21848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 21880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 21912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 22168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 22200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 22232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 22488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 22504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 22520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 22584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 22600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 22616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 22680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 22696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 22712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 22792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 22808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 22828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 22836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 22844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 22860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 22876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 22892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 22908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 22924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 22940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 22956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 22972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 22988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 23004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 23020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 23036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 23044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 23052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 23068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 23084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 23100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 23116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 23132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 23148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 23164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 23180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 23196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 23212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 23228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 23244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 23260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 23268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 23276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 23284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 23292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 23300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 23308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 23316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 23324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 23332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 23340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 23348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 23356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 23364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 23372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 23380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 23388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 23396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 23404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 23440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 23446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 23452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 23488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 23494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 23500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 23532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 23540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 23548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 23580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 23588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 23596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 23628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 23636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 23644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 23772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 23788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 23804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 23822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 23832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 23960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 23976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 23992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 24010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 24020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 24148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 24164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 24180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 24198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 24208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 24336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 24352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 24368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 24386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 24396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 24524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 24540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 24556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 24574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 24584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 24712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 24728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 24744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 24762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 24772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 24900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 24916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 24932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 24950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 24960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 25088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 25104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 25120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 25138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 25148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 25172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 25196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 25324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 25340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 25356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 25374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 25384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 25512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 25528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 25544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 25562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 25572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 25700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 25716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 25732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 25750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 25760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 25888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 25904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 25920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 25938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 25948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 25954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 25960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 25966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 25972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 25978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 25984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 25990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 25996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 26002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 26008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 26014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 26030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 26038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 26046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 26082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 26094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 26108 +lambdaLoadBins = array, U16, 21916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 21948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 21980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 22236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 22268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 22300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 22556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 22572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 22588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 22652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 22668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 22684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 22748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 22764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 22780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 22860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 22876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 22896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 22904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 22912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 22928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 22944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 22960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 22976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 22992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 23008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 23024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 23040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 23056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 23072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 23088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 23104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 23112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 23120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 23136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 23152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 23168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 23184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 23200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 23216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 23232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 23248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 23264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 23280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 23296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 23312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 23328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 23336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 23344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 23352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 23360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 23368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 23376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 23384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 23392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 23400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 23408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 23416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 23424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 23432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 23440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 23448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 23456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 23464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 23472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 23508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 23514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 23520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 23556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 23562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 23568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 23600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 23608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 23616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 23648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 23656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 23664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 23696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 23704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 23712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 23840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 23856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 23872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 23890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 23900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 24028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 24044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 24060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 24078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 24088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 24216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 24232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 24248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 24266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 24276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 24404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 24420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 24436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 24454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 24464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 24592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 24608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 24624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 24642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 24652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 24780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 24796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 24812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 24830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 24840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 24968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 24984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 25000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 25018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 25028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 25156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 25172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 25188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 25206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 25216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 25240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 25264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 25392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 25408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 25424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 25442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 25452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 25580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 25596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 25612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 25630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 25640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 25768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 25784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 25800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 25818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 25828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 25956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 25972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 25988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 26006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 26016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 26022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 26028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 26034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 26040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 26046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 26052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 26058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 26064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 26070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 26076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 26082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 26098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 26106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 26114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 26150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 26162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 26176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 26094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6826,7 +6842,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6845,9 +6861,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6861,9 +6875,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 4a7bcb52e1..c4ad68247f 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.proteus_f7.3563007433" + signature = "rusEFI master.2024.01.17.proteus_f7.1173530770" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.proteus_f7.3563007433" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.proteus_f7.1173530770" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","Analog Volt 5","Analog Volt 6","Analog Volt 7","Analog Volt 8","Analog Volt 9","Analog Volt 10","Analog Volt 11","Battery Sense","Analog Temp 3","Analog Temp 4","Analog Volt 1","Analog Volt 2","Analog Volt 3","Analog Volt 4","Analog Temp 1","Analog Temp 2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:30 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:23 UTC 2024 -pageSize = 26108 +pageSize = 26176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 12000 -cltFuelCorrBins = array, F32, 18188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 18252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 18316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 18380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 18444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 18476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 18508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 18540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 18572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 18636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 18700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 18828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 18956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 19020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 19028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 19036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 19548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 19580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 19612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 19672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 20184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 20216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 20248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 20312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 20328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 20344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 20408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 20424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 20440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 20952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 20984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 21016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 21528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 21560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 12000 +cltFuelCorrBins = array, F32, 18256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 18320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 18384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 18448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 18512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 18544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 18576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 18608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 18640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 18704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 18768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 18896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 19024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 19088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 19096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 19104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 19616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 19648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 19680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 19740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 20252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 20284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 20316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 20380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 20396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 20412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 20476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 20492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 20508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 21020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 21052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 21084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 21596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 21628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 21592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 21660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 21592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 21660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 21848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 21880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 21912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 22168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 22200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 22232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 22488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 22504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 22520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 22584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 22600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 22616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 22680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 22696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 22712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 22792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 22808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 22828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 22836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 22844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 22860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 22876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 22892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 22908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 22924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 22940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 22956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 22972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 22988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 23004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 23020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 23036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 23044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 23052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 23068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 23084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 23100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 23116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 23132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 23148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 23164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 23180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 23196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 23212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 23228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 23244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 23260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 23268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 23276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 23284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 23292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 23300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 23308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 23316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 23324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 23332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 23340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 23348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 23356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 23364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 23372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 23380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 23388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 23396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 23404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 23440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 23446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 23452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 23488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 23494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 23500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 23532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 23540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 23548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 23580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 23588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 23596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 23628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 23636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 23644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 23772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 23788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 23804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 23822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 23832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 23960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 23976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 23992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 24010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 24020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 24148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 24164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 24180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 24198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 24208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 24336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 24352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 24368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 24386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 24396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 24524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 24540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 24556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 24574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 24584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 24712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 24728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 24744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 24762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 24772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 24900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 24916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 24932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 24950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 24960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 25088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 25104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 25120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 25138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 25148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 25172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 25196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 25324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 25340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 25356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 25374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 25384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 25512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 25528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 25544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 25562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 25572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 25700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 25716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 25732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 25750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 25760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 25888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 25904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 25920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 25938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 25948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 25954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 25960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 25966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 25972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 25978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 25984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 25990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 25996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 26002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 26008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 26014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 26030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 26038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 26046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 26082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 26094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 26108 +lambdaLoadBins = array, U16, 21916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 21948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 21980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 22236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 22268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 22300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 22556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 22572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 22588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 22652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 22668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 22684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 22748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 22764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 22780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 22860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 22876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 22896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 22904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 22912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 22928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 22944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 22960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 22976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 22992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 23008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 23024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 23040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 23056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 23072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 23088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 23104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 23112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 23120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 23136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 23152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 23168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 23184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 23200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 23216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 23232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 23248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 23264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 23280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 23296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 23312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 23328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 23336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 23344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 23352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 23360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 23368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 23376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 23384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 23392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 23400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 23408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 23416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 23424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 23432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 23440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 23448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 23456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 23464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 23472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 23508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 23514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 23520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 23556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 23562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 23568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 23600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 23608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 23616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 23648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 23656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 23664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 23696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 23704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 23712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 23840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 23856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 23872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 23890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 23900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 24028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 24044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 24060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 24078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 24088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 24216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 24232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 24248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 24266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 24276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 24404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 24420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 24436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 24454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 24464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 24592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 24608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 24624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 24642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 24652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 24780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 24796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 24812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 24830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 24840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 24968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 24984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 25000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 25018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 25028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 25156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 25172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 25188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 25206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 25216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 25240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 25264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 25392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 25408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 25424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 25442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 25452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 25580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 25596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 25612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 25630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 25640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 25768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 25784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 25800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 25818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 25828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 25956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 25972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 25988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 26006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 26016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 26022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 26028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 26034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 26040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 26046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 26052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 26058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 26064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 26070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 26076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 26082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 26098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 26106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 26114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 26150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 26162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 26176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 26094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6826,7 +6842,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6845,9 +6861,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6861,9 +6875,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini index 5b402d390d..eb02dff1de 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.proteus_h7.3563007433" + signature = "rusEFI master.2024.01.17.proteus_h7.1173530770" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.proteus_h7.3563007433" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.proteus_h7.1173530770" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","Analog Volt 5","Analog Volt 6","Analog Volt 7","Analog Volt 8","Analog Volt 9","Analog Volt 10","Analog Volt 11","Battery Sense","Analog Temp 3","Analog Temp 4","Analog Volt 1","Analog Volt 2","Analog Volt 3","Analog Volt 4","Analog Temp 1","Analog Temp 2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:35 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:28 UTC 2024 -pageSize = 26108 +pageSize = 26176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 12000 -cltFuelCorrBins = array, F32, 18188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 18252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 18316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 18380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 18444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 18476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 18508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 18540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 18572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 18636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 18700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 18828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 18956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 19020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 19028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 19036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 19548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 19580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 19612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 19672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 20184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 20216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 20248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 20312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 20328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 20344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 20408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 20424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 20440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 20952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 20984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 21016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 21528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 21560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 12000 +cltFuelCorrBins = array, F32, 18256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 18320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 18384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 18448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 18512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 18544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 18576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 18608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 18640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 18704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 18768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 18896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 19024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 19088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 19096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 19104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 19616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 19648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 19680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 19740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 20252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 20284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 20316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 20380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 20396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 20412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 20476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 20492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 20508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 21020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 21052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 21084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 21596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 21628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 21592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 21660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 21592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 21660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 21848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 21880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 21912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 22168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 22200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 22232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 22488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 22504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 22520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 22584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 22600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 22616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 22680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 22696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 22712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 22792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 22808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 22828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 22836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 22844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 22860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 22876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 22892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 22908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 22924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 22940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 22956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 22972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 22988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 23004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 23020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 23036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 23044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 23052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 23068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 23084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 23100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 23116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 23132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 23148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 23164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 23180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 23196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 23212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 23228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 23244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 23260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 23268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 23276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 23284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 23292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 23300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 23308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 23316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 23324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 23332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 23340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 23348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 23356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 23364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 23372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 23380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 23388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 23396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 23404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 23440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 23446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 23452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 23488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 23494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 23500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 23532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 23540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 23548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 23580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 23588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 23596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 23628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 23636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 23644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 23772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 23788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 23804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 23822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 23832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 23960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 23976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 23992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 24010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 24020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 24148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 24164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 24180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 24198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 24208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 24336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 24352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 24368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 24386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 24396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 24524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 24540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 24556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 24574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 24584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 24712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 24728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 24744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 24762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 24772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 24900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 24916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 24932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 24950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 24960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 25088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 25104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 25120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 25138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 25148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 25172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 25196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 25324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 25340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 25356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 25374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 25384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 25512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 25528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 25544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 25562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 25572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 25700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 25716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 25732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 25750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 25760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 25888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 25904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 25920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 25938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 25948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 25954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 25960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 25966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 25972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 25978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 25984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 25990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 25996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 26002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 26008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 26014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 26030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 26038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 26046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 26082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 26094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 26108 +lambdaLoadBins = array, U16, 21916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 21948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 21980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 22236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 22268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 22300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 22556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 22572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 22588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 22652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 22668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 22684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 22748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 22764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 22780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 22860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 22876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 22896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 22904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 22912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 22928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 22944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 22960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 22976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 22992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 23008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 23024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 23040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 23056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 23072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 23088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 23104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 23112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 23120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 23136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 23152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 23168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 23184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 23200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 23216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 23232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 23248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 23264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 23280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 23296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 23312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 23328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 23336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 23344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 23352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 23360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 23368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 23376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 23384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 23392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 23400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 23408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 23416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 23424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 23432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 23440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 23448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 23456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 23464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 23472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 23508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 23514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 23520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 23556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 23562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 23568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 23600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 23608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 23616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 23648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 23656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 23664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 23696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 23704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 23712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 23840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 23856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 23872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 23874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 23890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 23900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 24028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 24044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 24060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 24078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 24088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 24216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 24232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 24248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 24266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 24276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 24404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 24420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 24436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 24454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 24464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 24592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 24608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 24624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 24642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 24652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 24780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 24796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 24812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 24814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 24830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 24840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 24968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 24984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 25000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 25018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 25028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 25156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 25172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 25188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 25206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 25216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 25240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 25264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 25392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 25408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 25424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 25442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 25452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 25580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 25596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 25612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 25630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 25640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 25768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 25784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 25800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 25818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 25828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 25956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 25972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 25988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 25990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 26006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 26016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 26022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 26028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 26034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 26040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 26046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 26052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 26058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 26064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 26070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 26076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 26082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 26098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 26106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 26114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 26150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 26162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 26176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 26094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6826,7 +6842,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6845,9 +6861,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6861,9 +6875,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_s105.ini b/firmware/tunerstudio/generated/rusefi_s105.ini index 2d958ce7ea..893750045b 100644 --- a/firmware/tunerstudio/generated/rusefi_s105.ini +++ b/firmware/tunerstudio/generated/rusefi_s105.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.s105.385452305" + signature = "rusEFI master.2024.01.17.s105.2270432330" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.s105.385452305" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.s105.2270432330" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","56 - MAP","16 - TPS","19 - Knock","39 - CLT","INVALID","opt 55 - AFR 2","opt 21 - AC Press","18 - AFR 1","13 - Ignition switch in (15)","44 - +12 sense (MR)","INVALID","na 37 - MAF","INVALID","INVALID","40 - IAT" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:18 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:11 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6817,7 +6833,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6836,9 +6852,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6852,9 +6866,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_small-can-board.ini b/firmware/tunerstudio/generated/rusefi_small-can-board.ini index 84ce857a39..0458c42772 100644 --- a/firmware/tunerstudio/generated/rusefi_small-can-board.ini +++ b/firmware/tunerstudio/generated/rusefi_small-can-board.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.small-can-board.2174702814" + signature = "rusEFI master.2024.01.17.small-can-board.271765893" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.small-can-board.2174702814" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.small-can-board.271765893" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","INVALID","B2 - Analog/Digital Input","B3 - Analog/Digital Input","B4 - Analog/Digital Input","B5 - Analog/Digital Input","B7 - Analog/Digital Input","C1 - Analog/Digital Input 6","INVALID","INVALID","INVALID","A2 Battery Sense","INVALID","INVALID","C2 - Analog/Digital Input 7","C4 - Analog/Digital Input 8" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:06 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:00 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_stm32f413_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f413_nucleo.ini index f1b9167c94..0f51b36db4 100644 --- a/firmware/tunerstudio/generated/rusefi_stm32f413_nucleo.ini +++ b/firmware/tunerstudio/generated/rusefi_stm32f413_nucleo.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.stm32f413_nucleo.3208550487" + signature = "rusEFI master.2024.01.17.stm32f413_nucleo.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.stm32f413_nucleo.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.stm32f413_nucleo.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:42 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:35 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini index 23afac9f88..e44dd2b016 100644 --- a/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini +++ b/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.stm32f429_nucleo.3208550487" + signature = "rusEFI master.2024.01.17.stm32f429_nucleo.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.stm32f429_nucleo.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.stm32f429_nucleo.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:45 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:38 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini index 18a8db1b59..0f3b8f0555 100644 --- a/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini +++ b/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.stm32f767_nucleo.3208550487" + signature = "rusEFI master.2024.01.17.stm32f767_nucleo.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.stm32f767_nucleo.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.stm32f767_nucleo.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:47 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:40 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index 8d71831adc..d563d519a7 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.subaru_eg33_f7.215518911" + signature = "rusEFI master.2024.01.17.subaru_eg33_f7.2641693668" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.subaru_eg33_f7.215518911" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.subaru_eg33_f7.2641693668" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","AUX0_18 - MAP Ain","INVALID","INVALID","B05 - MAF Ain","INVALID","AUX0_19 - IAT Ain","A02 - VBat","INVALID","A06 - Oxyg 2 Ain","A04 - EGR t Ain","INVALID","A18 - AUX0 Ain","B02 - TPS Ain","INVALID","A03 - Coolant t Ain","A06 - Oxyg 1 Ain" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:11 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:06 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6818,7 +6834,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6837,9 +6853,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6853,9 +6867,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_t-b-g.ini b/firmware/tunerstudio/generated/rusefi_t-b-g.ini index ed7e07ae13..6fb3246301 100644 --- a/firmware/tunerstudio/generated/rusefi_t-b-g.ini +++ b/firmware/tunerstudio/generated/rusefi_t-b-g.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.t-b-g.3208550487" + signature = "rusEFI master.2024.01.17.t-b-g.781393164" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.t-b-g.3208550487" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.t-b-g.781393164" ; 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 @@ -92,9 +92,9 @@ 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.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:20 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:13 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini index 25edeea85b..3fb9547cbd 100644 --- a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini +++ b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.tdg-pdm8.898675829" + signature = "rusEFI master.2024.01.17.tdg-pdm8.2755473710" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.tdg-pdm8.898675829" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.tdg-pdm8.2755473710" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","INVALID","INVALID","INVALID","Battery Sense","INVALID","INVALID","INVALID","Sense 7","Sense 8","Sense 1","Sense 2","Sense 3","Sense 4","Sense 5","Sense 6" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:19:54 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:47 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6816,7 +6832,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6835,9 +6851,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6851,9 +6865,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} diff --git a/firmware/tunerstudio/generated/rusefi_uaefi.ini b/firmware/tunerstudio/generated/rusefi_uaefi.ini index 28dea84cde..fe33bd35c1 100644 --- a/firmware/tunerstudio/generated/rusefi_uaefi.ini +++ b/firmware/tunerstudio/generated/rusefi_uaefi.ini @@ -34,12 +34,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.01.17.uaefi.1133751512" + signature = "rusEFI master.2024.01.17.uaefi.3527289219" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.01.17.uaefi.1133751512" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.01.17.uaefi.3527289219" ; 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 @@ -92,9 +92,9 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","D1 AUX1","C3 AUX2","INVALID","D6 PPS1","D13 TPS1","A7 Voltage From Key","INVALID","C15 AUX3","C14 TPS2","INVALID","D9 MAP","INVALID","D16 CLT Coolant","D15 IAT","C4 PPS2" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:18:45 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:05:40 UTC 2024 -pageSize = 22108 +pageSize = 22176 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",97="ALPHAX_8CHAN_SBC",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",35="ET_UNUSED_35",55="ET_UNUSED_55",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",8="GY6_139QMB",6="HARLEY",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",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",34="HELLEN_NA6",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",10="MAZDA_NA8_96",33="ME17_9_MISC",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",4="MRE_SECONDARY_CAN",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",25="PROTEUS_LUA_DEMO",17="PROTEUS_M111",67="PROTEUS_MIATA_NB2",93="PROTEUS_N73",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",98="PROTEUS_SBC",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",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",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",20="UNUSED_20",21="UNUSED_21",22="UNUSED_22",65="UNUSED_65",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -112,1483 +112,1486 @@ multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 injector_battLagCorrBins = array, F32, 56, [8], "volts", 1, 0, 0, 20, 2 injector_battLagCorr = array, F32, 88, [8], "ms", 1, 0, 0, 50, 2 -isForcedInduction = bits, U32, 120, [0:0], "false", "true" -useFordRedundantTps = bits, U32, 120, [1:1], "false", "true" -enableKline = bits, U32, 120, [2:2], "false", "true" -overrideTriggerGaps = bits, U32, 120, [3:3], "false", "true" -enableFan1WithAc = bits, U32, 120, [4:4], "false", "true" -enableFan2WithAc = bits, U32, 120, [5:5], "false", "true" -disableFan1WhenStopped = bits, U32, 120, [6:6], "false", "true" -disableFan2WhenStopped = bits, U32, 120, [7:7], "false", "true" -enableTrailingSparks = bits, U32, 120, [8:8], "false", "true" -etb_use_two_wires = bits, U32, 120, [9:9], "false", "true" -isDoubleSolenoidIdle = bits, U32, 120, [10:10], "false", "true" -useEeprom = bits, U32, 120, [11:11], "false", "true" -useCicPidForIdle = bits, U32, 120, [12:12], "false", "true" -useTLE8888_cranking_hack = bits, U32, 120, [13:13], "false", "true" -kickStartCranking = bits, U32, 120, [14:14], "false", "true" -useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [15:15], "false", "true" -launchControlEnabled = bits, U32, 120, [16:16], "false", "true" -doNotFilterTriggerEdgeNoise = bits, U32, 120, [17:17], "with filter", "without filter" -antiLagEnabled = bits, U32, 120, [18:18], "false", "true" -useRunningMathForCranking = bits, U32, 120, [19:19], "Fixed", "Fuel Map" -displayLogicLevelsInEngineSniffer = bits, U32, 120, [20:20], "false", "true" -useTLE8888_stepper = bits, U32, 120, [21:21], "false", "true" -usescriptTableForCanSniffingFiltering = bits, U32, 120, [22:22], "false", "true" -verboseCan = bits, U32, 120, [23:23], "Do not print", "Print all" -artificialTestMisfire = bits, U32, 120, [24:24], "No thank you", "Danger Mode" -useFordRedundantPps = bits, U32, 120, [25:25], "false", "true" -cltSensorPulldown = bits, U32, 120, [26:26], "false", "true" -iatSensorPulldown = bits, U32, 120, [27:27], "false", "true" -allowIdenticalPps = bits, U32, 120, [28:28], "false", "true" -overrideVvtTriggerGaps = bits, U32, 120, [29:29], "false", "true" -useSpiImu = bits, U32, 120, [30:30], "false", "true" -enableStagedInjection = bits, U32, 120, [31:31], "false", "true" -tpsMin = scalar, S16, 124, "ADC", 1, 0, 0, 1023, 0 -tpsMax = scalar, S16, 126, "ADC", 1, 0, 0, 1023, 0 -tpsErrorDetectionTooLow = scalar, S16, 128, "%", 1, 0, -10, 0, 0 -tpsErrorDetectionTooHigh = scalar, S16, 130, "%", 1, 0, 100, 110, 0 -cranking_baseFuel = scalar, F32, 132, "mg", 1, 0, 0, 500, 1 -cranking_rpm = scalar, S16, 136, "RPM", 1, 0, 0, 12000, 0 -ignitionDwellForCrankingMs = scalar, F32, 140, "ms", 1, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 144, "rpm", 1, 0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 146, "rpm", 1, 0, 0, 2000, 0 -map_samplingAngleBins = array, F32, 148, [8], "", 1, 0, 0, 18000, 2 -map_samplingAngle = array, F32, 180, [8], "deg", 1, 0, -720, 720, 2 -map_samplingWindowBins = array, F32, 212, [8], "", 1, 0, 0, 18000, 2 -map_samplingWindow = array, F32, 244, [8], "deg", 1, 0, -720, 720, 2 -map_sensor_lowValue = scalar, F32, 276, "kpa", 1, 0, -400, 800, 2 -map_sensor_highValue = scalar, F32, 280, "kpa", 1, 0, -400, 800, 2 -map_sensor_type = bits, U08, 284, [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", "MPXH6300" -map_sensor_hwChannel = bits, U08, 285, [0:5], $adc_channel_e_list -clt_tempC_1 = scalar, F32, 288, "*C", 1, 0, -55, 200, 1 -clt_tempC_2 = scalar, F32, 292, "*C", 1, 0, -55, 200, 1 -clt_tempC_3 = scalar, F32, 296, "*C", 1, 0, -55, 200, 1 -clt_resistance_1 = scalar, F32, 300, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_2 = scalar, F32, 304, "Ohm", 1, 0, 0, 1000000, 1 -clt_resistance_3 = scalar, F32, 308, "Ohm", 1, 0, 0, 1000000, 1 -clt_bias_resistor = scalar, F32, 312, "Ohm", 1, 0, 0, 200000, 1 -clt_adcChannel = bits, U08, 316, [0:5], $adc_channel_e_list -iat_tempC_1 = scalar, F32, 320, "*C", 1, 0, -55, 200, 1 -iat_tempC_2 = scalar, F32, 324, "*C", 1, 0, -55, 200, 1 -iat_tempC_3 = scalar, F32, 328, "*C", 1, 0, -55, 200, 1 -iat_resistance_1 = scalar, F32, 332, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_2 = scalar, F32, 336, "Ohm", 1, 0, 0, 1000000, 1 -iat_resistance_3 = scalar, F32, 340, "Ohm", 1, 0, 0, 1000000, 1 -iat_bias_resistor = scalar, F32, 344, "Ohm", 1, 0, 0, 200000, 1 -iat_adcChannel = bits, U08, 348, [0:5], $adc_channel_e_list -launchTimingRetard = scalar, S32, 352, "deg", 1, 0, -180, 180, 2 -hip9011PrescalerAndSDO = scalar, S32, 356, "integer", 1, 0, 0, 32, 0 -knockBandCustom = scalar, F32, 360, "kHz", 1, 0, 0, 20, 2 -displacement = scalar, U16, 364, "L", 0.001, 0, 0, 65, 3 -triggerSimulatorRpm = scalar, U16, 366, "RPM", 1, 0, 0, 30000, 0 -cylindersCount = scalar, U32, 368, "", 1, 0, 1, 12, 0 -firingOrder = bits, U08, 372, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" -cylinderBore = scalar, F32, 376, "mm", 1, 0, 0, 20000, 2 -fuelAlgorithm = bits, U08, 380, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -ALSMaxTPS = scalar, U08, 381, "%", 1, 0, 0, 10, 0 -crankingInjectionMode = bits, U08, 382, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -injectionMode = bits, U08, 383, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" -boostControlMinRpm = scalar, U16, 384, "", 1, 0, 0, 25000, 0 -boostControlMinTps = scalar, U08, 386, "", 1, 0, 0, 100, 0 -boostControlMinMap = scalar, U08, 387, "", 1, 0, 0, 250, 0 -crankingTimingAngle = scalar, F32, 388, "deg", 1, 0, -30, 30, 0 -ignitionMode = bits, U08, 392, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" -gapTrackingLengthOverride = scalar, S08, 393, "count", 1, 0, 1, 18, 0 -maxIdleVss = scalar, U08, 394, "kph", 1, 0, 0, 100, 0 -minOilPressureAfterStart = scalar, U16, 396, "kPa", 1, 0, 0, 1000, 0 -timingMode = bits, U08, 398, [0:0], "dynamic", "fixed" -fixedModeTiming = scalar, F32, 400, "RPM", 1, 0, 0, 3000, 0 -globalTriggerAngleOffset = scalar, F32, 404, "deg btdc", 1, 0, -720, 720, 0 -analogInputDividerCoefficient = scalar, F32, 408, "coef", 1, 0, 0.01, 10, 2 -vbattDividerCoeff = scalar, F32, 412, "coef", 1, 0, 0.01, 99, 2 -fanOnTemperature = scalar, F32, 416, "deg C", 1, 0, 0, 150, 0 -fanOffTemperature = scalar, F32, 420, "deg C", 1, 0, 0, 150, 0 -acrPin = bits, U16, 424, [0:8], $output_pin_e_list -driveWheelRevPerKm = scalar, F32, 428, "revs/km", 1, 0, 100, 1000, 1 -canNbcType = bits, U08, 432, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" -canSleepPeriodMs = scalar, S32, 436, "ms", 1, 0, 0, 1000, 2 -camDecoder2jzPrecision = scalar, U08, 440, "", 1, 0, 0, 100, 0 -byFirmwareVersion = scalar, S32, 444, "index", 1, 0, 0, 300, 0 -tps1_1AdcChannel = bits, U08, 448, [0:5], $adc_channel_e_list -vbattAdcChannel = bits, U08, 449, [0:5], $adc_channel_e_list -fuelLevelSensor = bits, U08, 450, [0:5], $adc_channel_e_list -tps2_1AdcChannel = bits, U08, 451, [0:5], $adc_channel_e_list -idle_derivativeFilterLoss = scalar, F32, 452, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 456, "angle", 1, 0, 0, 720, 0 -trigger_type = bits, U32, 460, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" -trigger_customTotalToothCount = scalar, S32, 464, "number", 1, 0, 1, 300, 0 -trigger_customSkippedToothCount = scalar, S32, 468, "number", 1, 0, 0, 300, 0 -airByRpmTaper = scalar, F32, 472, "%", 1, 0, 0, 50, 1 -hip9011SpiDevice = bits, U08, 476, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -boostControlSafeDutyCycle = scalar, U08, 477, "%", 1, 0, 0, 100, 0 -mafAdcChannel = bits, U08, 478, [0:5], $adc_channel_e_list -acrRevolutions = scalar, U08, 479, "", 1, 0, 0, 100, 0 -globalFuelCorrection = scalar, F32, 480, "coef", 1, 0, 0, 1000, 2 -adcVcc = scalar, F32, 484, "volts", 1, 0, 0, 6, 3 -mapCamDetectionAnglePosition = scalar, F32, 488, "Deg", 1, 0, 0, 360, 0 -camInputs1 = bits, U16, 492, [0:7], $brain_input_pin_e_list -camInputs2 = bits, U16, 494, [0:7], $brain_input_pin_e_list -camInputs3 = bits, U16, 496, [0:7], $brain_input_pin_e_list -camInputs4 = bits, U16, 498, [0:7], $brain_input_pin_e_list -afr_hwChannel = bits, U08, 500, [0:5], $adc_channel_e_list -afr_hwChannel2 = bits, U08, 501, [0:5], $adc_channel_e_list -afr_v1 = scalar, F32, 504, "volts", 1, 0, 0, 10, 2 -afr_value1 = scalar, F32, 508, "AFR", 1, 0, 0, 1000, 2 -afr_v2 = scalar, F32, 512, "volts", 1, 0, 0, 10, 2 -afr_value2 = scalar, F32, 516, "AFR", 1, 0, 0, 1000, 2 -throttlePedalPositionAdcChannel = bits, U08, 520, [0:5], $adc_channel_e_list -etbSplit = scalar, U08, 521, "%", 0.1, 0, 0, 20, 1 -tle6240_cs = bits, U16, 522, [0:7], $gpio_list -tle6240_csPinMode = bits, U08, 524, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33810_csPinMode = bits, U08, 525, [0:1], "default", "default inverted", "open collector", "open collector inverted" -throttlePedalUpPin = bits, U16, 526, [0:7], $switch_input_pin_e_list -baroSensor_lowValue = scalar, F32, 528, "kpa", 1, 0, -400, 800, 2 -baroSensor_highValue = scalar, F32, 532, "kpa", 1, 0, -400, 800, 2 -baroSensor_type = bits, U08, 536, [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", "MPXH6300" -baroSensor_hwChannel = bits, U08, 537, [0:5], $adc_channel_e_list -idle_solenoidFrequency = scalar, S32, 540, "Hz", 1, 0, 0, 3000, 0 -idle_solenoidPin = bits, U16, 544, [0:8], $output_pin_e_list -idle_stepperDirectionPin = bits, U16, 546, [0:7], $gpio_list -idle_stepperStepPin = bits, U16, 548, [0:7], $gpio_list -idle_solenoidPinMode = bits, U08, 550, [0:1], "default", "default inverted", "open collector", "open collector inverted" -manIdlePosition = scalar, F32, 552, "%", 1, 0, 0, 100, 0 -knockRetardAggression = scalar, U08, 556, "%", 0.1, 0, 0, 20, 1 -knockRetardReapplyRate = scalar, U08, 557, "deg/s", 0.1, 0, 0, 10, 1 -engineSyncCam = bits, S08, 558, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" -vssFilterReciprocal = scalar, U08, 559, "", 1, 0, 3, 200 0 -vssGearRatio = scalar, U16, 560, "ratio", 0.001, 0, 0, 60, 3 -vssToothCount = scalar, U08, 562, "count", 1, 0, 1, 100, 0 -idleVeOverrideMode = bits, U08, 563, [0:1], "None", "MAP", "TPS" -l9779_cs = bits, U16, 564, [0:7], $gpio_list -injectionPins1 = bits, U16, 566, [0:8], $output_pin_e_list -injectionPins2 = bits, U16, 568, [0:8], $output_pin_e_list -injectionPins3 = bits, U16, 570, [0:8], $output_pin_e_list -injectionPins4 = bits, U16, 572, [0:8], $output_pin_e_list -injectionPins5 = bits, U16, 574, [0:8], $output_pin_e_list -injectionPins6 = bits, U16, 576, [0:8], $output_pin_e_list -injectionPins7 = bits, U16, 578, [0:8], $output_pin_e_list -injectionPins8 = bits, U16, 580, [0:8], $output_pin_e_list -injectionPins9 = bits, U16, 582, [0:8], $output_pin_e_list -injectionPins10 = bits, U16, 584, [0:8], $output_pin_e_list -injectionPins11 = bits, U16, 586, [0:8], $output_pin_e_list -injectionPins12 = bits, U16, 588, [0:8], $output_pin_e_list -ignitionPins1 = bits, U16, 590, [0:8], $output_pin_e_list -ignitionPins2 = bits, U16, 592, [0:8], $output_pin_e_list -ignitionPins3 = bits, U16, 594, [0:8], $output_pin_e_list -ignitionPins4 = bits, U16, 596, [0:8], $output_pin_e_list -ignitionPins5 = bits, U16, 598, [0:8], $output_pin_e_list -ignitionPins6 = bits, U16, 600, [0:8], $output_pin_e_list -ignitionPins7 = bits, U16, 602, [0:8], $output_pin_e_list -ignitionPins8 = bits, U16, 604, [0:8], $output_pin_e_list -ignitionPins9 = bits, U16, 606, [0:8], $output_pin_e_list -ignitionPins10 = bits, U16, 608, [0:8], $output_pin_e_list -ignitionPins11 = bits, U16, 610, [0:8], $output_pin_e_list -ignitionPins12 = bits, U16, 612, [0:8], $output_pin_e_list -injectionPinMode = bits, U08, 614, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ignitionPinMode = bits, U08, 615, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelPumpPin = bits, U16, 616, [0:8], $output_pin_e_list -fuelPumpPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" -gapVvtTrackingLengthOverride = scalar, S08, 619, "count", 1, 0, 1, 4, 0 -malfunctionIndicatorPin = bits, U16, 620, [0:8], $output_pin_e_list -malfunctionIndicatorPinMode = bits, U08, 622, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPinMode = bits, U08, 623, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fanPin = bits, U16, 624, [0:8], $output_pin_e_list -clutchDownPin = bits, U16, 626, [0:7], $switch_input_pin_e_list -alternatorControlPin = bits, U16, 628, [0:8], $output_pin_e_list -alternatorControlPinMode = bits, U08, 630, [0:1], "default", "default inverted", "open collector", "open collector inverted" -clutchDownPinMode = bits, U08, 631, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -digitalPotentiometerChipSelect1 = bits, U16, 632, [0:7], $gpio_list -digitalPotentiometerChipSelect2 = bits, U16, 634, [0:7], $gpio_list -digitalPotentiometerChipSelect3 = bits, U16, 636, [0:7], $gpio_list -digitalPotentiometerChipSelect4 = bits, U16, 638, [0:7], $gpio_list -electronicThrottlePin1Mode = bits, U08, 640, [0:1], "default", "default inverted", "open collector", "open collector inverted" -max31855spiDevice = bits, U08, 641, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -debugTriggerSync = bits, U16, 642, [0:7], $gpio_list -digitalPotentiometerSpiDevice = bits, U08, 644, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33972_cs = bits, U16, 646, [0:7], $gpio_list -mc33972_csPinMode = bits, U08, 648, [0:1], "default", "default inverted", "open collector", "open collector inverted" -auxFastSensor1_adcChannel = bits, U08, 649, [0:5], $adc_channel_e_list -tps1_2AdcChannel = bits, U08, 650, [0:5], $adc_channel_e_list -tps2_2AdcChannel = bits, U08, 651, [0:5], $adc_channel_e_list -throttlePedalPositionSecondAdcChannel = bits, U08, 652, [0:5], $adc_channel_e_list -fuelLevelValues = array, U08, 653, [8], "%", 1, 0, 0, 100, 0 -afr_type = bits, S08, 661, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" -mc33810_cs1 = bits, U16, 662, [0:7], $gpio_list -idle_antiwindupFreq = scalar, F32, 664, "x", 1, 0, -1000000, 1000000, 4 -triggerInputPins1 = bits, U16, 668, [0:7], $brain_input_pin_e_list -triggerInputPins2 = bits, U16, 670, [0:7], $brain_input_pin_e_list -mc33_t_min_boost = scalar, U16, 672, "us", 1, 0, 0, 10000, 0 -hip9011CsPinMode = bits, U08, 674, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tachOutputPin = bits, U16, 676, [0:8], $output_pin_e_list -tachOutputPinMode = bits, U08, 678, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mainRelayPin = bits, U16, 680, [0:8], $output_pin_e_list -sdCardCsPin = bits, U16, 682, [0:7], $gpio_list -canTxPin = bits, U16, 684, [0:7], $gpio_list -canRxPin = bits, U16, 686, [0:7], $gpio_list -throttlePedalUpPinMode = bits, U08, 688, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acIdleExtraOffset = scalar, U08, 689, "%", 1, 0, 0, 100, 0 -finalGearRatio = scalar, U16, 690, "ratio", 0.01, 0, 0, 10, 2 -tcuInputSpeedSensorPin = bits, U16, 692, [0:7], $brain_input_pin_e_list -tcuInputSpeedSensorTeeth = scalar, U08, 694, "", 1, 0, 0, 100, 0 -wastegatePositionMin = scalar, U16, 696, "mv", 1, 0, 0, 5000, 0 -wastegatePositionMax = scalar, U16, 698, "mv", 1, 0, 0, 5000, 0 -idlePositionMin = scalar, U16, 700, "mv", 1, 0, 0, 5000, 0 -idlePositionMax = scalar, U16, 702, "mv", 1, 0, 0, 5000, 0 -tunerStudioSerialSpeed = scalar, U32, 704, "BPs", 1, 0, 0, 1000000, 0 -compressionRatio = scalar, F32, 708, "CR", 1, 0, 0, 300, 1 -triggerSimulatorPins1 = bits, U16, 712, [0:7], $gpio_list -triggerSimulatorPins2 = bits, U16, 714, [0:7], $gpio_list -fordInjectorSmallPulseSlope = scalar, U16, 716, "g/s", 0.001, 0, 0, 65, 3 -triggerSimulatorPinModes1 = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" -triggerSimulatorPinModes2 = bits, U08, 719, [0:1], "default", "default inverted", "open collector", "open collector inverted" -maf2AdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list -o2heaterPin = bits, U16, 722, [0:8], $output_pin_e_list -o2heaterPinModeTodO = bits, U08, 724, [0:1], "default", "default inverted", "open collector", "open collector inverted" -lambdaProtectionMinRpm = scalar, U08, 725, "RPM", 100.0, 0, 0, 25000, 0 -lambdaProtectionMinLoad = scalar, U08, 726, "%", 10.0, 0, 0, 1000, 0 -is_enabled_spi_1 = bits, U32, 728, [0:0], "false", "true" -is_enabled_spi_2 = bits, U32, 728, [1:1], "false", "true" -is_enabled_spi_3 = bits, U32, 728, [2:2], "false", "true" -isSdCardEnabled = bits, U32, 728, [3:3], "false", "true" -rusefiVerbose29b = bits, U32, 728, [4:4], "11 bit", "29 bit" -rethrowHardFault = bits, U32, 728, [5:5], "false", "true" -isHip9011Enabled = bits, U32, 728, [6:6], "false", "true" -requireFootOnBrakeToCrank = bits, U32, 728, [7:7], "false", "true" -verboseQuad = bits, U32, 728, [8:8], "false", "true" -useStepperIdle = bits, U32, 728, [9:9], "false", "true" -enabledStep1Limiter = bits, U32, 728, [10:10], "false", "true" -useTpicAdvancedMode = bits, U32, 728, [11:11], "false", "true" -lambdaProtectionEnable = bits, U32, 728, [12:12], "false", "true" -verboseTLE8888 = bits, U32, 728, [13:13], "false", "true" -enableVerboseCanTx = bits, U32, 728, [14:14], "false", "true" -etb1configured = bits, U32, 728, [15:15], "false", "true" -etb2configured = bits, U32, 728, [16:16], "false", "true" -measureMapOnlyInOneCylinder = bits, U32, 728, [17:17], "false", "true" -stepperForceParkingEveryRestart = bits, U32, 728, [18:18], "false", "true" -isFasterEngineSpinUpEnabled = bits, U32, 728, [19:19], "false", "true" -coastingFuelCutEnabled = bits, U32, 728, [20:20], "false", "true" -useIacTableForCoasting = bits, U32, 728, [21:21], "false", "true" -useNoiselessTriggerDecoder = bits, U32, 728, [22:22], "false", "true" -useIdleTimingPidControl = bits, U32, 728, [23:23], "false", "true" -disableEtbWhenEngineStopped = bits, U32, 728, [24:24], "false", "true" -is_enabled_spi_4 = bits, U32, 728, [25:25], "false", "true" -pauseEtbControl = bits, U32, 728, [26:26], "false", "true" -alignEngineSnifferAtTDC = bits, U32, 728, [27:27], "false", "true" -verboseKLine = bits, U32, 728, [28:28], "false", "true" -idleIncrementalPidCic = bits, U32, 728, [29:29], "false", "true" -enableAemXSeries = bits, U32, 728, [30:30], "false", "true" -logicAnalyzerPins1 = bits, U16, 732, [0:7], $brain_input_pin_e_list -logicAnalyzerPins2 = bits, U16, 734, [0:7], $brain_input_pin_e_list -logicAnalyzerPins3 = bits, U16, 736, [0:7], $brain_input_pin_e_list -logicAnalyzerPins4 = bits, U16, 738, [0:7], $brain_input_pin_e_list -mainRelayPinMode = bits, U08, 740, [0:1], "default", "default inverted", "open collector", "open collector inverted" -hip9011CsPin = bits, U16, 742, [0:7], $gpio_list -hip9011IntHoldPin = bits, U16, 744, [0:7], $gpio_list -hip9011IntHoldPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" -verboseCanBaseAddress = scalar, U32, 748, "", 1, 0, 0, 536870911, 0 -mc33_hvolt = scalar, U08, 752, "v", 1, 0, 40, 70, 0 -minimumBoostClosedLoopMap = scalar, U08, 753, "kPa", 1, 0, 0, 255, 0 -acFanPin = bits, U16, 754, [0:8], $output_pin_e_list -acFanPinMode = bits, U08, 756, [0:1], "default", "default inverted", "open collector", "open collector inverted" -l9779spiDevice = bits, U08, 757, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -dwellVoltageCorrVoltBins = array, U08, 758, [8], "volts", 0.1, 0, 0, 20, 1 -imuType = bits, U08, 766, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" -dwellVoltageCorrValues = array, U08, 767, [8], "multiplier", 0.02, 0, 0, 5, 2 -vehicleWeight = scalar, U16, 776, "kg", 1, 0, 0, 10000, 0 -idlePidRpmUpperLimit = scalar, S16, 778, "RPM", 1, 0, 0, 500, 0 -applyNonlinearBelowPulse = scalar, U16, 780, "ms", 0.001, 0, 0, 30, 3 -lps25BaroSensorScl = bits, U16, 782, [0:7], $gpio_list -lps25BaroSensorSda = bits, U16, 784, [0:7], $gpio_list -vehicleSpeedSensorInputPin = bits, U16, 786, [0:7], $brain_input_pin_e_list -clutchUpPin = bits, U16, 788, [0:7], $switch_input_pin_e_list -injectorNonlinearMode = bits, U08, 790, [0:1], "None", "Polynomial", "Ford (dual slope)" -clutchUpPinMode = bits, U08, 791, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -max31855_cs1 = bits, U16, 792, [0:7], $gpio_list -max31855_cs2 = bits, U16, 794, [0:7], $gpio_list -max31855_cs3 = bits, U16, 796, [0:7], $gpio_list -max31855_cs4 = bits, U16, 798, [0:7], $gpio_list -max31855_cs5 = bits, U16, 800, [0:7], $gpio_list -max31855_cs6 = bits, U16, 802, [0:7], $gpio_list -max31855_cs7 = bits, U16, 804, [0:7], $gpio_list -max31855_cs8 = bits, U16, 806, [0:7], $gpio_list -flexSensorPin = bits, U16, 808, [0:7], $brain_input_pin_e_list -test557pin = bits, U16, 810, [0:7], $gpio_list -stepperDirectionPinMode = bits, U08, 812, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33972spiDevice = bits, U08, 813, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioSecondary = scalar, U08, 814, ":1", 0.1, 0, 5, 25, 1 -etbMaximumPosition = scalar, U08, 815, "%", 1, 0, 70, 100, 0 -sdCardLogFrequency = scalar, U16, 816, "hz", 1, 0, 1, 250, 0 -idlePositionChannel = bits, U08, 818, [0:5], $adc_channel_e_list -debugMapAveraging = bits, U16, 820, [0:7], $gpio_list -starterRelayDisablePin = bits, U16, 822, [0:8], $output_pin_e_list -starterRelayDisablePinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" -secondSolenoidPin = bits, U16, 826, [0:8], $output_pin_e_list -startStopButtonPin = bits, U16, 828, [0:7], $switch_input_pin_e_list -mapMinBufferLength = scalar, S32, 832, "count", 1, 0, 1, 24, 0 -idlePidDeactivationTpsThreshold = scalar, S16, 836, "%", 1, 0, 0, 50, 0 -stepperParkingExtraSteps = scalar, S16, 838, "%", 1, 0, 0, 3000, 0 -tps1SecondaryMin = scalar, U16, 840, "ADC", 1, 0, 0, 1000, 0 -tps1SecondaryMax = scalar, U16, 842, "ADC", 1, 0, 0, 1000, 0 -antiLagRpmTreshold = scalar, S16, 844, "rpm", 1, 0, 0, 20000, 0 -startCrankingDuration = scalar, U16, 846, "Seconds", 1, 0, 0, 30, 0 -triggerErrorPin = bits, U16, 848, [0:7], $gpio_list -triggerErrorPinMode = bits, U08, 850, [0:1], "default", "default inverted", "open collector", "open collector inverted" -acRelayPin = bits, U16, 852, [0:8], $output_pin_e_list -lambdaProtectionMinTps = scalar, U08, 854, "%", 1, 0, 0, 100, 0 -lambdaProtectionTimeout = scalar, U08, 855, "s", 0.1, 0, 0, 10, 1 -lambdaProtectionRestoreRpm = scalar, U08, 856, "RPM", 100.0, 0, 0, 25000, 0 -acRelayPinMode = bits, U08, 857, [0:1], "default", "default inverted", "open collector", "open collector inverted" -scriptSetting1 = scalar, F32, 860, "", 1, 0, 0, 18000, 2 -scriptSetting2 = scalar, F32, 864, "", 1, 0, 0, 18000, 2 -scriptSetting3 = scalar, F32, 868, "", 1, 0, 0, 18000, 2 -scriptSetting4 = scalar, F32, 872, "", 1, 0, 0, 18000, 2 -scriptSetting5 = scalar, F32, 876, "", 1, 0, 0, 18000, 2 -scriptSetting6 = scalar, F32, 880, "", 1, 0, 0, 18000, 2 -scriptSetting7 = scalar, F32, 884, "", 1, 0, 0, 18000, 2 -scriptSetting8 = scalar, F32, 888, "", 1, 0, 0, 18000, 2 -spi1mosiPin = bits, U16, 892, [0:7], $gpio_list -spi1misoPin = bits, U16, 894, [0:7], $gpio_list -spi1sckPin = bits, U16, 896, [0:7], $gpio_list -spi2mosiPin = bits, U16, 898, [0:7], $gpio_list -spi2misoPin = bits, U16, 900, [0:7], $gpio_list -spi2sckPin = bits, U16, 902, [0:7], $gpio_list -spi3mosiPin = bits, U16, 904, [0:7], $gpio_list -spi3misoPin = bits, U16, 906, [0:7], $gpio_list -spi3sckPin = bits, U16, 908, [0:7], $gpio_list -cdmInputPin = bits, U16, 910, [0:7], $gpio_list -consoleUartDevice = bits, U08, 912, [0:1], "Off", "UART1", "UART2", "UART3" -sensorChartMode = bits, S08, 913, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -mafSensorType = bits, S08, 914, [0:1], "v0", "v1", "v2", "v3" -clutchUpPinInverted = bits, U32, 916, [0:0], "false", "true" -clutchDownPinInverted = bits, U32, 916, [1:1], "false", "true" -useHbridgesToDriveIdleStepper = bits, U32, 916, [2:2], "false", "true" -multisparkEnable = bits, U32, 916, [3:3], "false", "true" -enableLaunchRetard = bits, U32, 916, [4:4], "false", "true" -canInputBCM = bits, U32, 916, [5:5], "false", "true" -consumeObdSensors = bits, U32, 916, [6:6], "false", "true" -enableCanVss = bits, U32, 916, [7:7], "false", "true" -enableInnovateLC2 = bits, U32, 916, [8:8], "false", "true" -showHumanReadableWarning = bits, U32, 916, [9:9], "false", "true" -stftIgnoreErrorMagnitude = bits, U32, 916, [10:10], "false", "true" -vvtBooleanForVerySpecialCases = bits, U32, 916, [11:11], "false", "true" -enableSoftwareKnock = bits, U32, 916, [12:12], "false", "true" -verboseVVTDecoding = bits, U32, 916, [13:13], "false", "true" -invertCamVVTSignal = bits, U32, 916, [14:14], "Rising", "Falling" -alphaNUseIat = bits, U32, 916, [15:15], "false", "true" -knockBankCyl1 = bits, U32, 916, [16:16], "Channel 1", "Channel 2" -knockBankCyl2 = bits, U32, 916, [17:17], "Channel 1", "Channel 2" -knockBankCyl3 = bits, U32, 916, [18:18], "Channel 1", "Channel 2" -knockBankCyl4 = bits, U32, 916, [19:19], "Channel 1", "Channel 2" -knockBankCyl5 = bits, U32, 916, [20:20], "Channel 1", "Channel 2" -knockBankCyl6 = bits, U32, 916, [21:21], "Channel 1", "Channel 2" -knockBankCyl7 = bits, U32, 916, [22:22], "Channel 1", "Channel 2" -knockBankCyl8 = bits, U32, 916, [23:23], "Channel 1", "Channel 2" -knockBankCyl9 = bits, U32, 916, [24:24], "Channel 1", "Channel 2" -knockBankCyl10 = bits, U32, 916, [25:25], "Channel 1", "Channel 2" -knockBankCyl11 = bits, U32, 916, [26:26], "Channel 1", "Channel 2" -knockBankCyl12 = bits, U32, 916, [27:27], "Channel 1", "Channel 2" -tcuEnabled = bits, U32, 916, [28:28], "false", "true" -canBroadcastUseChannelTwo = bits, U32, 916, [29:29], "first", "second" -useRawOutputToDriveIdleStepper = bits, U32, 916, [30:30], "false", "true" -verboseCan2 = bits, U32, 916, [31:31], "Do not print", "Print all" -etbIo1_directionPin1 = bits, U16, 920, [0:7], $gpio_list -etbIo1_directionPin2 = bits, U16, 922, [0:7], $gpio_list -etbIo1_controlPin = bits, U16, 924, [0:7], $gpio_list -etbIo1_disablePin = bits, U16, 926, [0:7], $gpio_list -etbIo2_directionPin1 = bits, U16, 928, [0:7], $gpio_list -etbIo2_directionPin2 = bits, U16, 930, [0:7], $gpio_list -etbIo2_controlPin = bits, U16, 932, [0:7], $gpio_list -etbIo2_disablePin = bits, U16, 934, [0:7], $gpio_list -boostControlPin = bits, U16, 936, [0:8], $output_pin_e_list -boostControlPinMode = bits, U08, 938, [0:1], "default", "default inverted", "open collector", "open collector inverted" -ALSActivatePin = bits, U16, 940, [0:7], $switch_input_pin_e_list -launchActivatePin = bits, U16, 942, [0:7], $switch_input_pin_e_list -boostPid_pFactor = scalar, F32, 944, "", 1, 0, -10000, 10000, 4 -boostPid_iFactor = scalar, F32, 948, "", 1, 0, -10000, 10000, 4 -boostPid_dFactor = scalar, F32, 952, "", 1, 0, -10000, 10000, 4 -boostPid_offset = scalar, S16, 956, "", 1, 0, -1000, 1000, 0 -boostPid_periodMs = scalar, S16, 958, "ms", 1, 0, 0, 3000, 0 -boostPid_minValue = scalar, S16, 960, "", 1, 0, -30000, 30000, 0 -boostPid_maxValue = scalar, S16, 962, "", 1, 0, -30000, 30000, 0 -boostType = bits, U08, 964, [0:0], "Open Loop", "Open + Closed Loop" -ignitionKeyDigitalPinMode = bits, U08, 965, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -ignitionKeyDigitalPin = bits, U16, 966, [0:7], $gpio_list -boostPwmFrequency = scalar, S32, 968, "Hz", 1, 0, 0, 3000, 0 -launchActivationMode = bits, S08, 972, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" -antiLagActivationMode = bits, S08, 973, [0:0], "Switch Input", "Always Active" -launchSpeedThreshold = scalar, S32, 976, "Kph", 1, 0, 0, 300, 0 -launchTimingRpmRange = scalar, S32, 980, "RPM", 1, 0, 0, 8000, 0 -launchFuelAdded = scalar, S32, 984, "%", 1, 0, 0, 100, 0 -launchBoostDuty = scalar, S32, 988, "%", 1, 0, 0, 100, 0 -hardCutRpmRange = scalar, S32, 992, "RPM", 1, 0, 0, 3000, 0 -turbochargerFilter = scalar, F32, 996, "", 1, 0, 0, 100, 0 -launchTpsThreshold = scalar, S32, 1000, "", 1, 0, 0, 20000, 0 -launchActivateDelay = scalar, F32, 1004, "", 1, 0, 0, 20000, 0 -stft_maxIdleRegionRpm = scalar, U08, 1008, "RPM", 50.0, 0, 0, 12000, 0 -stft_maxOverrunLoad = scalar, U08, 1009, "load", 1, 0, 0, 250, 0 -stft_minPowerLoad = scalar, U08, 1010, "load", 1, 0, 0, 250, 0 -stft_deadband = scalar, U08, 1011, "%", 0.1, 0, 0, 3, 1 -stft_minClt = scalar, S08, 1012, "C", 1, 0, -20, 100, 0 -stft_minAfr = scalar, U08, 1013, "afr", 0.1, 0, 10, 20, 1 -stft_maxAfr = scalar, U08, 1014, "afr", 0.1, 0, 10, 20, 1 -stft_startupDelay = scalar, U08, 1015, "seconds", 1, 0, 0, 250, 0 -stft_cellCfgs1_maxAdd = scalar, S08, 1016, "%", 1, 0, 0, 25, 0 -stft_cellCfgs1_maxRemove = scalar, S08, 1017, "%", 1, 0, -25, 0, 0 -stft_cellCfgs1_timeConstant = scalar, U16, 1018, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs2_maxAdd = scalar, S08, 1020, "%", 1, 0, 0, 25, 0 -stft_cellCfgs2_maxRemove = scalar, S08, 1021, "%", 1, 0, -25, 0, 0 -stft_cellCfgs2_timeConstant = scalar, U16, 1022, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs3_maxAdd = scalar, S08, 1024, "%", 1, 0, 0, 25, 0 -stft_cellCfgs3_maxRemove = scalar, S08, 1025, "%", 1, 0, -25, 0, 0 -stft_cellCfgs3_timeConstant = scalar, U16, 1026, "sec", 0.1, 0, 0.1, 100, 2 -stft_cellCfgs4_maxAdd = scalar, S08, 1028, "%", 1, 0, 0, 25, 0 -stft_cellCfgs4_maxRemove = scalar, S08, 1029, "%", 1, 0, -25, 0, 0 -stft_cellCfgs4_timeConstant = scalar, U16, 1030, "sec", 0.1, 0, 0.1, 100, 2 -stepperDcIo1_directionPin1 = bits, U16, 1032, [0:7], $gpio_list -stepperDcIo1_directionPin2 = bits, U16, 1034, [0:7], $gpio_list -stepperDcIo1_controlPin = bits, U16, 1036, [0:7], $gpio_list -stepperDcIo1_disablePin = bits, U16, 1038, [0:7], $gpio_list -stepperDcIo2_directionPin1 = bits, U16, 1040, [0:7], $gpio_list -stepperDcIo2_directionPin2 = bits, U16, 1042, [0:7], $gpio_list -stepperDcIo2_controlPin = bits, U16, 1044, [0:7], $gpio_list -stepperDcIo2_disablePin = bits, U16, 1046, [0:7], $gpio_list -engineMake = string, ASCII, 1048, 32 -engineCode = string, ASCII, 1080, 32 -vehicleName = string, ASCII, 1112, 32 -tcu_solenoid1 = bits, U16, 1144, [0:8], $output_pin_e_list -tcu_solenoid2 = bits, U16, 1146, [0:8], $output_pin_e_list -tcu_solenoid3 = bits, U16, 1148, [0:8], $output_pin_e_list -tcu_solenoid4 = bits, U16, 1150, [0:8], $output_pin_e_list -tcu_solenoid5 = bits, U16, 1152, [0:8], $output_pin_e_list -tcu_solenoid6 = bits, U16, 1154, [0:8], $output_pin_e_list -etbFunctions1 = bits, U08, 1156, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -etbFunctions2 = bits, U08, 1157, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" -drv8860spiDevice = bits, U08, 1158, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -drv8860_cs = bits, U16, 1160, [0:7], $gpio_list -drv8860_csPinMode = bits, U08, 1162, [0:1], "default", "default inverted", "open collector", "open collector inverted" -drv8860_miso = bits, U16, 1164, [0:7], $gpio_list -fuelLevelBins = array, U16, 1166, [8], "volt", 0.001, 0, 0, 5, 3 -luaOutputPins1 = bits, U16, 1182, [0:8], $output_pin_e_list -luaOutputPins2 = bits, U16, 1184, [0:8], $output_pin_e_list -luaOutputPins3 = bits, U16, 1186, [0:8], $output_pin_e_list -luaOutputPins4 = bits, U16, 1188, [0:8], $output_pin_e_list -luaOutputPins5 = bits, U16, 1190, [0:8], $output_pin_e_list -luaOutputPins6 = bits, U16, 1192, [0:8], $output_pin_e_list -luaOutputPins7 = bits, U16, 1194, [0:8], $output_pin_e_list -luaOutputPins8 = bits, U16, 1196, [0:8], $output_pin_e_list -vvtOffsets1 = scalar, F32, 1200, "value", 1, 0, -720, 1000, 1 -vvtOffsets2 = scalar, F32, 1204, "value", 1, 0, -720, 1000, 1 -vvtOffsets3 = scalar, F32, 1208, "value", 1, 0, -720, 1000, 1 -vvtOffsets4 = scalar, F32, 1212, "value", 1, 0, -720, 1000, 1 -vrThreshold1_rpmBins = array, U08, 1216, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold1_values = array, U08, 1222, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold1_pin = bits, U16, 1228, [0:7], $gpio_list -vrThreshold2_rpmBins = array, U08, 1232, [6], "rpm", 50.0, 0, 0, 12000, 0 -vrThreshold2_values = array, U08, 1238, [6], "volts", 0.01, 0, 0, 2.5, 2 -vrThreshold2_pin = bits, U16, 1244, [0:7], $gpio_list -gpPwmNote1 = string, ASCII, 1248, 16 -gpPwmNote2 = string, ASCII, 1264, 16 -gpPwmNote3 = string, ASCII, 1280, 16 -gpPwmNote4 = string, ASCII, 1296, 16 -tps2SecondaryMin = scalar, U16, 1312, "ADC", 1, 0, 0, 1000, 0 -tps2SecondaryMax = scalar, U16, 1314, "ADC", 1, 0, 0, 1000, 0 -widebandOnSecondBus = bits, U32, 1316, [0:0], "1", "2" -fuelClosedLoopCorrectionEnabled = bits, U32, 1316, [1:1], "false", "true" -oddFireEngine = bits, U32, 1316, [2:2], "false", "true" -boardUseTachPullUp = bits, U32, 1316, [3:3], "5v", "12v" -boardUseTempPullUp = bits, U32, 1316, [4:4], "Piggyback Mode", "With Pull Ups" -yesUnderstandLocking = bits, U32, 1316, [5:5], "no", "yes" -silentTriggerError = bits, U32, 1316, [6:6], "false", "true" -useLinearCltSensor = bits, U32, 1316, [7:7], "false", "true" -canReadEnabled = bits, U32, 1316, [8:8], "false", "true" -canWriteEnabled = bits, U32, 1316, [9:9], "false", "true" -useLinearIatSensor = bits, U32, 1316, [10:10], "false", "true" -boardUse2stepPullDown = bits, U32, 1316, [11:11], "With Pull Up", "With Pull Down" -tachPulseDurationAsDutyCycle = bits, U32, 1316, [12:12], "Constant time", "Duty cycle" -isAlternatorControlEnabled = bits, U32, 1316, [13:13], "false", "true" -invertPrimaryTriggerSignal = bits, U32, 1316, [14:14], "Rising", "Falling" -invertSecondaryTriggerSignal = bits, U32, 1316, [15:15], "Rising", "Falling" -cutFuelOnHardLimit = bits, U32, 1316, [16:16], "no", "yes" -cutSparkOnHardLimit = bits, U32, 1316, [17:17], "no", "yes" -launchFuelCutEnable = bits, U32, 1316, [18:18], "false", "true" -launchSparkCutEnable = bits, U32, 1316, [19:19], "false", "true" -boardUseCrankPullUp = bits, U32, 1316, [20:20], "VR", "Hall" -boardUseCamPullDown = bits, U32, 1316, [21:21], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 1316, [22:22], "VR", "Hall" -boardUseD2PullDown = bits, U32, 1316, [23:23], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 1316, [24:24], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 1316, [25:25], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 1316, [26:26], "With Pull Up", "With Pull Down" -verboseIsoTp = bits, U32, 1316, [27:27], "false", "true" -engineSnifferFocusOnInputs = bits, U32, 1316, [28:28], "false", "true" -launchActivateInverted = bits, U32, 1316, [29:29], "false", "true" -twoStroke = bits, U32, 1316, [30:30], "Four Stroke", "Two Stroke" -skippedWheelOnCam = bits, U32, 1316, [31:31], "On crankshaft", "On camshaft" -hipOutputChannel = bits, U08, 1320, [0:5], $adc_channel_e_list -acSwitch = bits, U16, 1322, [0:7], $switch_input_pin_e_list -vRefAdcChannel = bits, U08, 1324, [0:5], $adc_channel_e_list -etbNeutralPosition = scalar, U08, 1325, "%", 1, 0, 0, 100, 0 -idleMode = bits, U08, 1326, [0:0], "Open Loop + Closed Loop", "Open Loop" -isInjectionEnabled = bits, U32, 1328, [0:0], "false", "true" -isIgnitionEnabled = bits, U32, 1328, [1:1], "false", "true" -isCylinderCleanupEnabled = bits, U32, 1328, [2:2], "false", "true" -complexWallModel = bits, U32, 1328, [3:3], "Basic (constants)", "Advanced (tables)" -alwaysInstantRpm = bits, U32, 1328, [4:4], "false", "true" -isMapAveragingEnabled = bits, U32, 1328, [5:5], "false", "true" -overrideCrankingIacSetting = bits, U32, 1328, [6:6], "false", "true" -useSeparateAdvanceForIdle = bits, U32, 1328, [7:7], "false", "true" -isWaveAnalyzerEnabled = bits, U32, 1328, [8:8], "false", "true" -useSeparateVeForIdle = bits, U32, 1328, [9:9], "false", "true" -verboseTriggerSynchDetails = bits, U32, 1328, [10:10], "false", "true" -isManualSpinningMode = bits, U32, 1328, [11:11], "false", "true" -cutFuelInAcr = bits, U32, 1328, [12:12], "false", "true" -hondaK = bits, U32, 1328, [13:13], "false", "true" -twoWireBatchIgnition = bits, U32, 1328, [14:14], "false", "true" -useFixedBaroCorrFromMap = bits, U32, 1328, [15:15], "false", "true" -useSeparateAdvanceForCranking = bits, U32, 1328, [16:16], "Fixed (auto taper)", "Table" -useAdvanceCorrectionsForCranking = bits, U32, 1328, [17:17], "false", "true" -flexCranking = bits, U32, 1328, [18:18], "false", "true" -useIacPidMultTable = bits, U32, 1328, [19:19], "false", "true" -isBoostControlEnabled = bits, U32, 1328, [20:20], "false", "true" -launchSmoothRetard = bits, U32, 1328, [21:21], "false", "true" -isPhaseSyncRequiredForIgnition = bits, U32, 1328, [22:22], "false", "true" -useCltBasedRpmLimit = bits, U32, 1328, [23:23], "no", "yes" -forceO2Heating = bits, U32, 1328, [24:24], "no", "yes" -invertVvtControlIntake = bits, U32, 1328, [25:25], "advance", "retard" -invertVvtControlExhaust = bits, U32, 1328, [26:26], "advance", "retard" -useBiQuadOnAuxSpeedSensors = bits, U32, 1328, [27:27], "false", "true" -sdTriggerLog = bits, U32, 1328, [28:28], "normal", "trigger" -ALSActivateInverted = bits, U32, 1328, [29:29], "false", "true" -stepper_dc_use_two_wires = bits, U32, 1328, [30:30], "false", "true" -watchOutForLinearTime = bits, U32, 1328, [31:31], "false", "true" -engineChartSize = scalar, U32, 1332, "count", 1, 0, 0, 300, 0 -turboSpeedSensorMultiplier = scalar, F32, 1336, "mult", 1, 0, 0, 7000, 3 -camInputsDebug1 = bits, U16, 1340, [0:7], $gpio_list -camInputsDebug2 = bits, U16, 1342, [0:7], $gpio_list -camInputsDebug3 = bits, U16, 1344, [0:7], $gpio_list -camInputsDebug4 = bits, U16, 1346, [0:7], $gpio_list -acIdleRpmTarget = scalar, S16, 1348, "RPM", 1, 0, 0, 2000, 0 -warningPeriod = scalar, S16, 1350, "seconds", 1, 0, 0, 60, 0 -knockDetectionWindowStart = scalar, F32, 1352, "angle", 1, 0, -1000, 1000, 2 -knockDetectionWindowEnd = scalar, F32, 1356, "angle", 1, 0, -1000, 1000, 2 -idleStepperReactionTime = scalar, F32, 1360, "ms", 1, 0, 1, 300, 0 -idleStepperTotalSteps = scalar, S32, 1364, "count", 1, 0, 5, 3000, 0 -noAccelAfterHardLimitPeriodSecs = scalar, F32, 1368, "sec", 1, 0, 0, 60, 0 -mapAveragingSchedulingAtIndex = scalar, S32, 1372, "index", 1, 0, 0, 7000, 0 -tachPulseDuractionMs = scalar, F32, 1376, "", 1, 0, 0, 100, 2 -wwaeTau = scalar, F32, 1380, "Seconds", 1, 0, 0, 3, 2 -alternatorControl_pFactor = scalar, F32, 1384, "", 1, 0, -10000, 10000, 4 -alternatorControl_iFactor = scalar, F32, 1388, "", 1, 0, -10000, 10000, 4 -alternatorControl_dFactor = scalar, F32, 1392, "", 1, 0, -10000, 10000, 4 -alternatorControl_offset = scalar, S16, 1396, "", 1, 0, -1000, 1000, 0 -alternatorControl_periodMs = scalar, S16, 1398, "ms", 1, 0, 0, 3000, 0 -alternatorControl_minValue = scalar, S16, 1400, "", 1, 0, -30000, 30000, 0 -alternatorControl_maxValue = scalar, S16, 1402, "", 1, 0, -30000, 30000, 0 -etb_pFactor = scalar, F32, 1404, "", 1, 0, -10000, 10000, 4 -etb_iFactor = scalar, F32, 1408, "", 1, 0, -10000, 10000, 4 -etb_dFactor = scalar, F32, 1412, "", 1, 0, -10000, 10000, 4 -etb_offset = scalar, S16, 1416, "", 1, 0, -1000, 1000, 0 -etb_periodMs = scalar, S16, 1418, "ms", 1, 0, 0, 3000, 0 -etb_minValue = scalar, S16, 1420, "", 1, 0, -30000, 30000, 0 -etb_maxValue = scalar, S16, 1422, "", 1, 0, -30000, 30000, 0 -triggerInputDebugPins1 = bits, U16, 1424, [0:7], $gpio_list -triggerInputDebugPins2 = bits, U16, 1426, [0:7], $gpio_list -airTaperRpmRange = scalar, S16, 1428, "RPM", 1, 0, 0, 1500, 0 -turboSpeedSensorInputPin = bits, U16, 1430, [0:7], $brain_input_pin_e_list -tps2Min = scalar, S16, 1432, "ADC", 1, 0, 0, 1023, 0 -tps2Max = scalar, S16, 1434, "ADC", 1, 0, 0, 1023, 0 -starterControlPin = bits, U16, 1436, [0:8], $output_pin_e_list -startStopButtonMode = bits, U08, 1438, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -mc33816_flag0 = bits, U16, 1440, [0:7], $gpio_list -tachPulsePerRev = scalar, U08, 1442, "Pulse", 1, 0, 1, 255, 0 -mapErrorDetectionTooLow = scalar, F32, 1444, "kPa", 1, 0, -100, 100, 2 -mapErrorDetectionTooHigh = scalar, F32, 1448, "kPa", 1, 0, -100, 800, 2 -multisparkSparkDuration = scalar, U16, 1452, "ms", 0.001, 0, 0, 3, 2 -multisparkDwell = scalar, U16, 1454, "ms", 0.001, 0, 0, 3, 2 -idleRpmPid_pFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 -idleRpmPid_iFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 -idleRpmPid_dFactor = scalar, F32, 1464, "", 1, 0, -10000, 10000, 4 -idleRpmPid_offset = scalar, S16, 1468, "", 1, 0, -1000, 1000, 0 -idleRpmPid_periodMs = scalar, S16, 1470, "ms", 1, 0, 0, 3000, 0 -idleRpmPid_minValue = scalar, S16, 1472, "", 1, 0, -30000, 30000, 0 -idleRpmPid_maxValue = scalar, S16, 1474, "", 1, 0, -30000, 30000, 0 -wwaeBeta = scalar, F32, 1476, "Fraction", 1, 0, 0, 1, 2 -binarySerialTxPin = bits, U16, 1480, [0:7], $gpio_list -binarySerialRxPin = bits, U16, 1482, [0:7], $gpio_list -auxValves1 = bits, U16, 1484, [0:7], $gpio_list -auxValves2 = bits, U16, 1486, [0:7], $gpio_list -tcuUpshiftButtonPin = bits, U16, 1488, [0:7], $switch_input_pin_e_list -tcuDownshiftButtonPin = bits, U16, 1490, [0:7], $switch_input_pin_e_list -throttlePedalUpVoltage = scalar, F32, 1492, "voltage", 1, 0, -6, 6, 2 -throttlePedalWOTVoltage = scalar, F32, 1496, "voltage", 1, 0, -6, 6, 2 -startUpFuelPumpDuration = scalar, S16, 1500, "seconds", 1, 0, 0, 6000, 0 -idlePidRpmDeadZone = scalar, S16, 1502, "RPM", 1, 0, 0, 800, 0 -targetVBatt = scalar, F32, 1504, "Volts", 1, 0, 0, 30, 1 -mc33810DisableRecoveryMode = bits, U32, 1508, [0:0], "false", "true" -mc33810Gpgd0Mode = bits, U32, 1508, [1:1], "false", "true" -mc33810Gpgd1Mode = bits, U32, 1508, [2:2], "false", "true" -mc33810Gpgd2Mode = bits, U32, 1508, [3:3], "false", "true" -mc33810Gpgd3Mode = bits, U32, 1508, [4:4], "false", "true" -afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 -iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 -auxSerialTxPin = bits, U16, 1516, [0:7], $gpio_list -auxSerialRxPin = bits, U16, 1518, [0:7], $gpio_list -accelerometerCsPin = bits, U16, 1520, [0:7], $gpio_list -tpsAccelLookback = scalar, U08, 1522, "sec", 0.05, 0, 0, 5, 2 -coastingFuelCutVssLow = scalar, U08, 1523, "kph", 1, 0, 0, 255, 0 -coastingFuelCutVssHigh = scalar, U08, 1524, "kph", 1, 0, 0, 255, 0 -noFuelTrimAfterDfcoTime = scalar, U08, 1525, "sec", 0.1, 0, 0, 10, 1 -tpsAccelEnrichmentThreshold = scalar, F32, 1528, "roc", 1, 0, 0, 200, 1 -auxSpeedSensorInputPin1 = bits, U16, 1532, [0:7], $brain_input_pin_e_list -auxSpeedSensorInputPin2 = bits, U16, 1534, [0:7], $brain_input_pin_e_list -totalGearsCount = scalar, U08, 1536, "", 1, 0, 1, 10, 0 -injectionTimingMode = bits, U08, 1537, [0:1], "End of injection", "Start of injection", "Center of injection" -debugMode = bits, U08, 1538, [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, 1539, "%", 1, 0, 0, 100, 0 -uartConsoleSerialSpeed = scalar, U32, 1540, "BPs", 1, 0, 0, 1000000, 0 -tpsDecelEnleanmentThreshold = scalar, F32, 1544, "roc", 1, 0, 0, 200, 1 -tpsDecelEnleanmentMultiplier = scalar, F32, 1548, "coeff", 1, 0, 0, 200, 2 -auxSerialSpeed = scalar, U32, 1552, "BPs", 1, 0, 0, 1000000, 0 -throttlePedalSecondaryUpVoltage = scalar, F32, 1556, "voltage", 1, 0, -6, 6, 2 -throttlePedalSecondaryWOTVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 -canBaudRate = bits, U08, 1564, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -veOverrideMode = bits, U08, 1565, [0:1], "None", "MAP", "TPS" -can2BaudRate = bits, U08, 1566, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" -afrOverrideMode = bits, U08, 1567, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -mc33_hpfp_i_peak = scalar, U08, 1568, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold = scalar, U08, 1569, "A", 0.1, 0, 0, 25, 1 -mc33_hpfp_i_hold_off = scalar, U08, 1570, "us", 1, 0, 0, 255, 0 -mc33_hpfp_max_hold = scalar, U08, 1571, "ms", 1, 0, 0, 255, 0 -stepperDcInvertedPins = bits, U32, 1572, [0:0], "false", "true" -canOpenBLT = bits, U32, 1572, [1:1], "false", "true" -can2OpenBLT = bits, U32, 1572, [2:2], "false", "true" -injectorFlowAsMassFlow = bits, U32, 1572, [3:3], "volumetric flow", "mass flow" -boardUseCanTerminator = bits, U32, 1572, [4:4], "false", "true" -kLineDoHondaSend = bits, U32, 1572, [5:5], "false", "true" -can1ListenMode = bits, U32, 1572, [6:6], "false", "true" -can2ListenMode = bits, U32, 1572, [7:7], "false", "true" -camDecoder2jzPosition = scalar, U08, 1576, "", 1, 0, 0, 100, 0 -mc33810maxDwellTimer = bits, U08, 1577, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" -benchTestOnTime = scalar, U16, 1578, "ms", 0.01, 0, 0, 500, 2 -lambdaProtectionRestoreTps = scalar, U08, 1580, "%", 1, 0, 0, 100, 0 -lambdaProtectionRestoreLoad = scalar, U08, 1581, "%", 10.0, 0, 0, 1000, 0 -launchActivatePinMode = bits, U08, 1582, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -can2TxPin = bits, U16, 1584, [0:7], $gpio_list -can2RxPin = bits, U16, 1586, [0:7], $gpio_list -starterControlPinMode = bits, U08, 1588, [0:1], "default", "default inverted", "open collector", "open collector inverted" -wastegatePositionSensor = bits, U08, 1589, [0:5], $adc_channel_e_list -ignOverrideMode = bits, U08, 1590, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -injectorPressureType = bits, U08, 1591, [0:0], "Low", "High" -hpfpValvePin = bits, U16, 1592, [0:8], $output_pin_e_list -hpfpValvePinMode = bits, U08, 1594, [0:1], "default", "default inverted", "open collector", "open collector inverted" -boostCutPressure = scalar, F32, 1596, "kPa (absolute)", 1, 0, 0, 1000, 0 -tchargeBins = array, U08, 1600, [16], "kg/h", 5.0, 0, 0, 1200, 0 -tchargeValues = array, U08, 1616, [16], "ratio", 0.01, 0, 0, 1, 2 -fixedTiming = scalar, F32, 1632, "deg", 1, 0, -720, 720, 2 -mapLowValueVoltage = scalar, F32, 1636, "v", 1, 0, 0, 10, 2 -mapHighValueVoltage = scalar, F32, 1640, "v", 1, 0, 0, 10, 2 -egoValueShift = scalar, F32, 1644, "value", 1, 0, -10, 10, 2 -vvtPins1 = bits, U16, 1648, [0:8], $output_pin_e_list -vvtPins2 = bits, U16, 1650, [0:8], $output_pin_e_list -vvtPins3 = bits, U16, 1652, [0:8], $output_pin_e_list -vvtPins4 = bits, U16, 1654, [0:8], $output_pin_e_list -sdCardCsPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" -crankingIACposition = scalar, S32, 1660, "percent", 1, 0, -100, 100, 0 -tChargeMinRpmMinTps = scalar, F32, 1664, "", 1, 0, 0, 3, 4 -tChargeMinRpmMaxTps = scalar, F32, 1668, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMinTps = scalar, F32, 1672, "", 1, 0, 0, 3, 4 -tChargeMaxRpmMaxTps = scalar, F32, 1676, "", 1, 0, 0, 3, 4 -vvtOutputFrequency = scalar, U16, 1680, "Hz", 1, 0, 0, 3000, 0 -minimumIgnitionTiming = scalar, S08, 1682, "deg BTDC", 1, 0, -90, 90, 0 -maximumIgnitionTiming = scalar, S08, 1683, "deg BTDC", 1, 0, -90, 90, 0 -alternatorPwmFrequency = scalar, S32, 1684, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1688, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -vvtMode2 = bits, U08, 1689, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" -fan2ExtraIdle = scalar, U08, 1690, "%", 1, 0, 0, 100, 0 -primingDelay = scalar, U08, 1691, "sec", 0.01, 0, 0, 1, 2 -auxAnalogInputs1 = bits, U08, 1692, [0:5], $adc_channel_e_list -auxAnalogInputs2 = bits, U08, 1693, [0:5], $adc_channel_e_list -auxAnalogInputs3 = bits, U08, 1694, [0:5], $adc_channel_e_list -auxAnalogInputs4 = bits, U08, 1695, [0:5], $adc_channel_e_list -auxAnalogInputs5 = bits, U08, 1696, [0:5], $adc_channel_e_list -auxAnalogInputs6 = bits, U08, 1697, [0:5], $adc_channel_e_list -auxAnalogInputs7 = bits, U08, 1698, [0:5], $adc_channel_e_list -auxAnalogInputs8 = bits, U08, 1699, [0:5], $adc_channel_e_list -trailingCoilPins1 = bits, U16, 1700, [0:8], $output_pin_e_list -trailingCoilPins2 = bits, U16, 1702, [0:8], $output_pin_e_list -trailingCoilPins3 = bits, U16, 1704, [0:8], $output_pin_e_list -trailingCoilPins4 = bits, U16, 1706, [0:8], $output_pin_e_list -trailingCoilPins5 = bits, U16, 1708, [0:8], $output_pin_e_list -trailingCoilPins6 = bits, U16, 1710, [0:8], $output_pin_e_list -trailingCoilPins7 = bits, U16, 1712, [0:8], $output_pin_e_list -trailingCoilPins8 = bits, U16, 1714, [0:8], $output_pin_e_list -trailingCoilPins9 = bits, U16, 1716, [0:8], $output_pin_e_list -trailingCoilPins10 = bits, U16, 1718, [0:8], $output_pin_e_list -trailingCoilPins11 = bits, U16, 1720, [0:8], $output_pin_e_list -trailingCoilPins12 = bits, U16, 1722, [0:8], $output_pin_e_list -tle8888mode = bits, U08, 1724, [0:1], "Auto", "SemiAuto", "Manual", "Hall" -accelerometerCsPinMode = bits, U08, 1725, [0:1], "default", "default inverted", "open collector", "open collector inverted" -injectorCompensationMode = bits, U08, 1726, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" -fan2PinMode = bits, U08, 1727, [0:1], "default", "default inverted", "open collector", "open collector inverted" -fuelReferencePressure = scalar, F32, 1728, "kPa", 1, 0, 50, 700000, 0 -postCrankingFactor = array, F32, 1732, [6x6], "mult", 1, 0, 1, 3, 2 -postCrankingDurationBins = array, F32, 1876, [6], "count", 1, 0, 0, 1000, 0 -postCrankingCLTBins = array, F32, 1900, [6], "C", 1, 0, -100, 100, 0 -auxTempSensor1_tempC_1 = scalar, F32, 1924, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_2 = scalar, F32, 1928, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_tempC_3 = scalar, F32, 1932, "*C", 1, 0, -55, 200, 1 -auxTempSensor1_resistance_1 = scalar, F32, 1936, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_2 = scalar, F32, 1940, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_resistance_3 = scalar, F32, 1944, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor1_bias_resistor = scalar, F32, 1948, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor1_adcChannel = bits, U08, 1952, [0:5], $adc_channel_e_list -auxTempSensor2_tempC_1 = scalar, F32, 1956, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_2 = scalar, F32, 1960, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_tempC_3 = scalar, F32, 1964, "*C", 1, 0, -55, 200, 1 -auxTempSensor2_resistance_1 = scalar, F32, 1968, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_2 = scalar, F32, 1972, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_resistance_3 = scalar, F32, 1976, "Ohm", 1, 0, 0, 1000000, 1 -auxTempSensor2_bias_resistor = scalar, F32, 1980, "Ohm", 1, 0, 0, 200000, 1 -auxTempSensor2_adcChannel = bits, U08, 1984, [0:5], $adc_channel_e_list -knockSamplingDuration = scalar, S16, 1988, "Deg", 1, 0, 0, 720, 0 -etbFreq = scalar, S16, 1990, "Hz", 1, 0, 0, 3000, 0 -etbWastegatePid_pFactor = scalar, F32, 1992, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_iFactor = scalar, F32, 1996, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_dFactor = scalar, F32, 2000, "", 1, 0, -10000, 10000, 4 -etbWastegatePid_offset = scalar, S16, 2004, "", 1, 0, -1000, 1000, 0 -etbWastegatePid_periodMs = scalar, S16, 2006, "ms", 1, 0, 0, 3000, 0 -etbWastegatePid_minValue = scalar, S16, 2008, "", 1, 0, -30000, 30000, 0 -etbWastegatePid_maxValue = scalar, S16, 2010, "", 1, 0, -30000, 30000, 0 -stepperNumMicroSteps = bits, U08, 2012, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -stepperMinDutyCycle = scalar, U08, 2013, "%", 1, 0, 0, 100, 0 -stepperMaxDutyCycle = scalar, U08, 2014, "%", 1, 0, 0, 100, 0 -sdCardSpiDevice = bits, U08, 2015, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -timing_offset_cylinder1 = scalar, F32, 2016, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder2 = scalar, F32, 2020, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder3 = scalar, F32, 2024, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder4 = scalar, F32, 2028, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder5 = scalar, F32, 2032, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder6 = scalar, F32, 2036, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder7 = scalar, F32, 2040, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder8 = scalar, F32, 2044, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder9 = scalar, F32, 2048, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder10 = scalar, F32, 2052, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder11 = scalar, F32, 2056, "deg", 1, 0, -720, 720, 1 -timing_offset_cylinder12 = scalar, F32, 2060, "deg", 1, 0, -720, 720, 1 -idlePidActivationTime = scalar, F32, 2064, "seconds", 1, 0, 0, 60, 1 -spi1SckMode = bits, U08, 2068, [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, 2069, [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, 2070, [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, 2071, [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, 2072, [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, 2073, [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, 2074, [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, 2075, [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, 2076, [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, 2077, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_rstb = bits, U16, 2078, [0:7], $gpio_list -mc33816_driven = bits, U16, 2080, [0:7], $gpio_list -brakePedalPin = bits, U16, 2082, [0:7], $switch_input_pin_e_list -brakePedalPinMode = bits, U08, 2084, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -auxPid1_pFactor = scalar, F32, 2088, "", 1, 0, -10000, 10000, 4 -auxPid1_iFactor = scalar, F32, 2092, "", 1, 0, -10000, 10000, 4 -auxPid1_dFactor = scalar, F32, 2096, "", 1, 0, -10000, 10000, 4 -auxPid1_offset = scalar, S16, 2100, "", 1, 0, -1000, 1000, 0 -auxPid1_periodMs = scalar, S16, 2102, "ms", 1, 0, 0, 3000, 0 -auxPid1_minValue = scalar, S16, 2104, "", 1, 0, -30000, 30000, 0 -auxPid1_maxValue = scalar, S16, 2106, "", 1, 0, -30000, 30000, 0 -auxPid2_pFactor = scalar, F32, 2108, "", 1, 0, -10000, 10000, 4 -auxPid2_iFactor = scalar, F32, 2112, "", 1, 0, -10000, 10000, 4 -auxPid2_dFactor = scalar, F32, 2116, "", 1, 0, -10000, 10000, 4 -auxPid2_offset = scalar, S16, 2120, "", 1, 0, -1000, 1000, 0 -auxPid2_periodMs = scalar, S16, 2122, "ms", 1, 0, 0, 3000, 0 -auxPid2_minValue = scalar, S16, 2124, "", 1, 0, -30000, 30000, 0 -auxPid2_maxValue = scalar, S16, 2126, "", 1, 0, -30000, 30000, 0 -injectorCorrectionPolynomial1 = scalar, F32, 2128, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial2 = scalar, F32, 2132, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial3 = scalar, F32, 2136, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial4 = scalar, F32, 2140, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial5 = scalar, F32, 2144, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial6 = scalar, F32, 2148, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial7 = scalar, F32, 2152, "", 1, 0, -1000, 1000, 4 -injectorCorrectionPolynomial8 = scalar, F32, 2156, "", 1, 0, -1000, 1000, 4 -primeBins = array, S08, 2160, [8], "C", 1, 0, -40, 120, 0 -oilPressure_hwChannel = bits, U08, 2168, [0:5], $adc_channel_e_list -oilPressure_v1 = scalar, F32, 2172, "volts", 1, 0, 0, 10, 2 -oilPressure_value1 = scalar, F32, 2176, "", 1, 0, 0, 1000000, 2 -oilPressure_v2 = scalar, F32, 2180, "volts", 1, 0, 0, 10, 2 -oilPressure_value2 = scalar, F32, 2184, "", 1, 0, 0, 1000000, 2 -accelerometerSpiDevice = bits, U08, 2188, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -fan2Pin = bits, U16, 2190, [0:8], $output_pin_e_list -fan2OnTemperature = scalar, U08, 2192, "deg C", 1, 0, 0, 150, 0 -fan2OffTemperature = scalar, U08, 2193, "deg C", 1, 0, 0, 150, 0 -stepperEnablePin = bits, U16, 2194, [0:7], $gpio_list -tle8888_cs = bits, U16, 2196, [0:7], $gpio_list -tle8888_csPinMode = bits, U08, 2198, [0:1], "default", "default inverted", "open collector", "open collector inverted" -mc33816_cs = bits, U16, 2200, [0:7], $gpio_list -auxFrequencyFilter = scalar, F32, 2204, "hz", 1, 0, 0, 100, 1 -vvtControlMinRpm = scalar, S16, 2208, "RPM", 1, 0, 0, 3000, 0 -sentInputPins1 = bits, U16, 2210, [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" -launchFuelAdderPercent = scalar, S08, 2212, "%", 1, 0, 0, 100, 0 -etbJamTimeout = scalar, U08, 2213, "sec", 0.02, 0, 0, 5, 2 -etbExpAverageLength = scalar, U16, 2214, "", 1, 0, 0, 32000, 0 -etbDutyThreshold = scalar, F32, 2216, "", 1, 0, 0, 100, 0 -coastingFuelCutRpmHigh = scalar, S16, 2220, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutRpmLow = scalar, S16, 2222, "rpm", 1, 0, 0, 5000, 0 -coastingFuelCutTps = scalar, S16, 2224, "%", 1, 0, 0, 20, 0 -coastingFuelCutClt = scalar, S16, 2226, "C", 1, 0, -100, 100, 0 -pidExtraForLowRpm = scalar, S16, 2228, "%", 1, 0, 0, 100, 0 -coastingFuelCutMap = scalar, S16, 2230, "kPa", 1, 0, 0, 250, 0 -highPressureFuel_hwChannel = bits, U08, 2232, [0:5], $adc_channel_e_list -highPressureFuel_v1 = scalar, F32, 2236, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value1 = scalar, F32, 2240, "", 1, 0, 0, 1000000, 2 -highPressureFuel_v2 = scalar, F32, 2244, "volts", 1, 0, 0, 10, 2 -highPressureFuel_value2 = scalar, F32, 2248, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_hwChannel = bits, U08, 2252, [0:5], $adc_channel_e_list -lowPressureFuel_v1 = scalar, F32, 2256, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value1 = scalar, F32, 2260, "", 1, 0, 0, 1000000, 2 -lowPressureFuel_v2 = scalar, F32, 2264, "volts", 1, 0, 0, 10, 2 -lowPressureFuel_value2 = scalar, F32, 2268, "", 1, 0, 0, 1000000, 2 -cltRevLimitRpmBins = array, S08, 2272, [4], "C", 1, 0, -40, 120, 0 -cltRevLimitRpm = array, U16, 2276, [4], "RPM", 1, 0, 0, 20000, 0 -scriptCurveName1 = string, ASCII, 2284, 16 -scriptCurveName2 = string, ASCII, 2300, 16 -scriptCurveName3 = string, ASCII, 2316, 16 -scriptCurveName4 = string, ASCII, 2332, 16 -scriptCurveName5 = string, ASCII, 2348, 16 -scriptCurveName6 = string, ASCII, 2364, 16 -scriptTableName1 = string, ASCII, 2380, 16 -scriptTableName2 = string, ASCII, 2396, 16 -scriptTableName3 = string, ASCII, 2412, 16 -scriptTableName4 = string, ASCII, 2428, 16 -scriptSettingName1 = string, ASCII, 2444, 16 -scriptSettingName2 = string, ASCII, 2460, 16 -scriptSettingName3 = string, ASCII, 2476, 16 -scriptSettingName4 = string, ASCII, 2492, 16 -scriptSettingName5 = string, ASCII, 2508, 16 -scriptSettingName6 = string, ASCII, 2524, 16 -scriptSettingName7 = string, ASCII, 2540, 16 -scriptSettingName8 = string, ASCII, 2556, 16 -tChargeAirCoefMin = scalar, F32, 2572, "", 1, 0, 0, 1, 3 -tChargeAirCoefMax = scalar, F32, 2576, "", 1, 0, 0, 1, 3 -tChargeAirFlowMax = scalar, F32, 2580, "kg/h", 1, 0, 0, 1000, 1 -tChargeAirIncrLimit = scalar, F32, 2584, "deg/sec", 1, 0, 0, 100, 1 -tChargeAirDecrLimit = scalar, F32, 2588, "deg/sec", 1, 0, 0, 100, 1 -tChargeMode = bits, U08, 2592, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" -hip9011Gain = scalar, F32, 2596, "", 1, 0, 0, 100, 2 -etb_iTermMin = scalar, S16, 2600, "", 1, 0, -30000, 30000, 0 -etb_iTermMax = scalar, S16, 2602, "", 1, 0, -30000, 30000, 0 -idleTimingPid_pFactor = scalar, F32, 2604, "", 1, 0, -10000, 10000, 4 -idleTimingPid_iFactor = scalar, F32, 2608, "", 1, 0, -10000, 10000, 4 -idleTimingPid_dFactor = scalar, F32, 2612, "", 1, 0, -10000, 10000, 4 -idleTimingPid_offset = scalar, S16, 2616, "", 1, 0, -1000, 1000, 0 -idleTimingPid_periodMs = scalar, S16, 2618, "ms", 1, 0, 0, 3000, 0 -idleTimingPid_minValue = scalar, S16, 2620, "", 1, 0, -30000, 30000, 0 -idleTimingPid_maxValue = scalar, S16, 2622, "", 1, 0, -30000, 30000, 0 -idleTimingSoftEntryTime = scalar, F32, 2624, "", 1, 0, 0, 100, 1 -etbRocExpAverageLength = scalar, S16, 2628, "", 1, 0, 0, 32000, 0 -tpsAccelFractionPeriod = scalar, S16, 2630, "cycles", 1, 0, 0, 500, 0 -tpsAccelFractionDivisor = scalar, F32, 2632, "coef", 1, 0, 0, 100, 2 -tle8888spiDevice = bits, U08, 2636, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -mc33816spiDevice = bits, U08, 2637, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -idlerpmpid_iTermMin = scalar, S16, 2638, "", 1, 0, -30000, 30000, 0 -tle6240spiDevice = bits, U08, 2640, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" -stoichRatioPrimary = scalar, U08, 2641, ":1", 0.1, 0, 5, 25, 1 -idlerpmpid_iTermMax = scalar, S16, 2642, "", 1, 0, -30000, 30000, 0 -etbIdleThrottleRange = scalar, F32, 2644, "%", 1, 0, 0, 15, 0 -cylinderBankSelect1 = scalar, U08, 2648, "", 1, 1, 1, 2, 0 -cylinderBankSelect2 = scalar, U08, 2649, "", 1, 1, 1, 2, 0 -cylinderBankSelect3 = scalar, U08, 2650, "", 1, 1, 1, 2, 0 -cylinderBankSelect4 = scalar, U08, 2651, "", 1, 1, 1, 2, 0 -cylinderBankSelect5 = scalar, U08, 2652, "", 1, 1, 1, 2, 0 -cylinderBankSelect6 = scalar, U08, 2653, "", 1, 1, 1, 2, 0 -cylinderBankSelect7 = scalar, U08, 2654, "", 1, 1, 1, 2, 0 -cylinderBankSelect8 = scalar, U08, 2655, "", 1, 1, 1, 2, 0 -cylinderBankSelect9 = scalar, U08, 2656, "", 1, 1, 1, 2, 0 -cylinderBankSelect10 = scalar, U08, 2657, "", 1, 1, 1, 2, 0 -cylinderBankSelect11 = scalar, U08, 2658, "", 1, 1, 1, 2, 0 -cylinderBankSelect12 = scalar, U08, 2659, "", 1, 1, 1, 2, 0 -primeValues = array, U08, 2660, [8], "mg", 5.0, 0, 0, 1250, 0 -triggerCompCenterVolt = scalar, U08, 2668, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMin = scalar, U08, 2669, "V", 0.02, 0, 0, 5.1, 2 -triggerCompHystMax = scalar, U08, 2670, "V", 0.02, 0, 0, 5.1, 2 -triggerCompSensorSatRpm = scalar, U08, 2671, "RPM", 50.0, 0, 0, 12000, 0 -tractionControlSlipBins = array, U16, 2672, [6], "ratio", 0.01, 0, 0, 999, 2 -tractionControlSpeedBins = array, U08, 2684, [6], "RPM", 1, 0, 0, 250, 0 -disableFan1AtSpeed = scalar, S08, 2690, "", 1, 0, 0, 100, 0 -disableFan2AtSpeed = scalar, S08, 2691, "", 1, 0, 0, 100, 0 -canVssNbcType = bits, U08, 2692, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" -gppwm1_pin = bits, U16, 2696, [0:8], $output_pin_e_list -gppwm1_dutyIfError = scalar, U08, 2698, "%", 1, 0, 0, 100, 0 -gppwm1_pwmFrequency = scalar, U16, 2700, "hz", 1, 0, 0, 500, 0 -gppwm1_onAboveDuty = scalar, U08, 2702, "%", 1, 0, 0, 100, 0 -gppwm1_offBelowDuty = scalar, U08, 2703, "%", 1, 0, 0, 100, 0 -gppwm1_loadAxis = bits, U08, 2704, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2705, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2706, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm1_rpmBins = array, S16, 2722, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm1_table = array, U08, 2738, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm2_pin = bits, U16, 2804, [0:8], $output_pin_e_list -gppwm2_dutyIfError = scalar, U08, 2806, "%", 1, 0, 0, 100, 0 -gppwm2_pwmFrequency = scalar, U16, 2808, "hz", 1, 0, 0, 500, 0 -gppwm2_onAboveDuty = scalar, U08, 2810, "%", 1, 0, 0, 100, 0 -gppwm2_offBelowDuty = scalar, U08, 2811, "%", 1, 0, 0, 100, 0 -gppwm2_loadAxis = bits, U08, 2812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2813, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2814, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm2_rpmBins = array, S16, 2830, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm2_table = array, U08, 2846, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm3_pin = bits, U16, 2912, [0:8], $output_pin_e_list -gppwm3_dutyIfError = scalar, U08, 2914, "%", 1, 0, 0, 100, 0 -gppwm3_pwmFrequency = scalar, U16, 2916, "hz", 1, 0, 0, 500, 0 -gppwm3_onAboveDuty = scalar, U08, 2918, "%", 1, 0, 0, 100, 0 -gppwm3_offBelowDuty = scalar, U08, 2919, "%", 1, 0, 0, 100, 0 -gppwm3_loadAxis = bits, U08, 2920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2921, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2922, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm3_rpmBins = array, S16, 2938, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm3_table = array, U08, 2954, [8x8], "duty", 0.5, 0, 0, 100, 1 -gppwm4_pin = bits, U16, 3020, [0:8], $output_pin_e_list -gppwm4_dutyIfError = scalar, U08, 3022, "%", 1, 0, 0, 100, 0 -gppwm4_pwmFrequency = scalar, U16, 3024, "hz", 1, 0, 0, 500, 0 -gppwm4_onAboveDuty = scalar, U08, 3026, "%", 1, 0, 0, 100, 0 -gppwm4_offBelowDuty = scalar, U08, 3027, "%", 1, 0, 0, 100, 0 -gppwm4_loadAxis = bits, U08, 3028, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3029, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3030, [8], "load", 0.5, 0, -1000, 10000, 1 -gppwm4_rpmBins = array, S16, 3046, [8], "RPM", 1, 0, -30000, 30000, 0 -gppwm4_table = array, U08, 3062, [8x8], "duty", 0.5, 0, 0, 100, 1 -mc33_i_boost = scalar, U16, 3128, "mA", 1, 0, 1000, 25000, 0 -mc33_i_peak = scalar, U16, 3130, "mA", 1, 0, 1000, 20000, 0 -mc33_i_hold = scalar, U16, 3132, "mA", 1, 0, 1000, 20000, 0 -mc33_t_max_boost = scalar, U16, 3134, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_off = scalar, U16, 3136, "us", 1, 0, 0, 10000, 0 -mc33_t_peak_tot = scalar, U16, 3138, "us", 1, 0, 0, 10000, 0 -mc33_t_bypass = scalar, U16, 3140, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_off = scalar, U16, 3142, "us", 1, 0, 0, 10000, 0 -mc33_t_hold_tot = scalar, U16, 3144, "us", 1, 0, 0, 10000, 0 -tcuUpshiftButtonPinMode = bits, U08, 3146, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcuDownshiftButtonPinMode = bits, U08, 3147, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -acSwitchMode = bits, U08, 3148, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_solenoid_mode1 = bits, U08, 3149, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode2 = bits, U08, 3150, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode3 = bits, U08, 3151, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode4 = bits, U08, 3152, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode5 = bits, U08, 3153, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_solenoid_mode6 = bits, U08, 3154, [0:1], "default", "default inverted", "open collector", "open collector inverted" -knockBaseNoise = array, S08, 3155, [16], "dB", 0.5, 0, -50, 10, 1 -triggerGapOverrideFrom1 = scalar, F32, 3172, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom2 = scalar, F32, 3176, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom3 = scalar, F32, 3180, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom4 = scalar, F32, 3184, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom5 = scalar, F32, 3188, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom6 = scalar, F32, 3192, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom7 = scalar, F32, 3196, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom8 = scalar, F32, 3200, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom9 = scalar, F32, 3204, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom10 = scalar, F32, 3208, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom11 = scalar, F32, 3212, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom12 = scalar, F32, 3216, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom13 = scalar, F32, 3220, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom14 = scalar, F32, 3224, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom15 = scalar, F32, 3228, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom16 = scalar, F32, 3232, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom17 = scalar, F32, 3236, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideFrom18 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo1 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo2 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo3 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo4 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo5 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo6 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo7 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo8 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo9 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo10 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo11 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo12 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo13 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo14 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo15 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo16 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo17 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 -triggerGapOverrideTo18 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 -maxCamPhaseResolveRpm = scalar, U08, 3316, "rpm", 50.0, 0, 0, 12500, 0 -dfcoDelay = scalar, U08, 3317, "sec", 0.1, 0, 0, 10, 1 -acDelay = scalar, U08, 3318, "sec", 0.1, 0, 0, 10, 1 -fordInjectorSmallPulseBreakPoint = scalar, U16, 3320, "mg", 0.001, 0, 0, 65, 3 -tpsTspCorrValues = array, U08, 3322, [4], "multiplier", 0.02, 0, 0, 5, 2 -etbJamIntegratorLimit = scalar, U08, 3326, "%", 1, 0, 0, 50, 0 -hpfpCamLobes = scalar, U08, 3327, "lobes/cam", 1, 0, 0, 255, 0 -hpfpCam = bits, U08, 3328, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" -auxiliarySetting1 = scalar, U08, 3329, "", 1, 0, 0, 100, 0 -hpfpMinAngle = scalar, U08, 3330, "deg", 1, 0, 0, 255, 0 -hpfpPumpVolume = scalar, U16, 3332, "cc", 0.001, 0, 0, 65, 3 -hpfpActivationAngle = scalar, U08, 3334, "deg", 1, 0, 0, 255, 0 -issFilterReciprocal = scalar, U08, 3335, "", 1, 0, 0, 255, 0 -hpfpPidP = scalar, U16, 3336, "%/kPa", 0.001, 0, 0, 65, 3 -hpfpPidI = scalar, U16, 3338, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 -hpfpTargetDecay = scalar, U16, 3340, "kPa/s", 1, 0, 0, 65000, 0 -hpfpLobeProfileQuantityBins = array, U08, 3342, [16], "%", 0.5, 0, 0, 100, 1 -hpfpLobeProfileAngle = array, U08, 3358, [16], "deg", 0.5, 0, 0, 125, 1 -hpfpDeadtimeVoltsBins = array, U08, 3374, [8], "volts", 1, 0, 0, 255, 0 -hpfpDeadtimeMS = array, U16, 3382, [8], "ms", 0.001, 0, 0, 65, 3 -hpfpTarget = array, U16, 3398, [10x10], "kPa", 1, 0, 0, 65000, 0 -hpfpTargetLoadBins = array, U16, 3598, [10], "load", 0.1, 0, 0, 6500, 1 -hpfpTargetRpmBins = array, U08, 3618, [10], "RPM", 50.0, 0, 0, 12500, 0 -hpfpCompensation = array, S08, 3628, [10x10], "%", 1, 0, -100, 100, 0 -hpfpCompensationLoadBins = array, U16, 3728, [10], "cc/lobe", 0.001, 0, 0, 65, 3 -hpfpCompensationRpmBins = array, U08, 3748, [10], "RPM", 50.0, 0, 0, 12500, 0 -stepper_raw_output1 = bits, U16, 3758, [0:8], $output_pin_e_list -stepper_raw_output2 = bits, U16, 3760, [0:8], $output_pin_e_list -stepper_raw_output3 = bits, U16, 3762, [0:8], $output_pin_e_list -stepper_raw_output4 = bits, U16, 3764, [0:8], $output_pin_e_list -gearRatio1 = scalar, U16, 3766, "ratio", 0.01, 0, 0, 30, 2 -gearRatio2 = scalar, U16, 3768, "ratio", 0.01, 0, 0, 30, 2 -gearRatio3 = scalar, U16, 3770, "ratio", 0.01, 0, 0, 30, 2 -gearRatio4 = scalar, U16, 3772, "ratio", 0.01, 0, 0, 30, 2 -gearRatio5 = scalar, U16, 3774, "ratio", 0.01, 0, 0, 30, 2 -gearRatio6 = scalar, U16, 3776, "ratio", 0.01, 0, 0, 30, 2 -gearRatio7 = scalar, U16, 3778, "ratio", 0.01, 0, 0, 30, 2 -gearRatio8 = scalar, U16, 3780, "ratio", 0.01, 0, 0, 30, 2 -gearRatio9 = scalar, U16, 3782, "ratio", 0.01, 0, 0, 30, 2 -gearRatio10 = scalar, U16, 3784, "ratio", 0.01, 0, 0, 30, 2 -vvtActivationDelayMs = scalar, U16, 3786, "ms", 1, 0, 0, 65000, 0 -wwCltBins = array, S08, 3788, [8], "deg C", 1, 0, -40, 120, 0 -wwTauCltValues = array, U08, 3796, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaCltValues = array, U08, 3804, [8], "", 0.01, 0, 0, 1, 2 -wwMapBins = array, S08, 3812, [8], "kPa", 1, 0, 0, 250, 0 -wwTauMapValues = array, U08, 3820, [8], "", 0.01, 0, 0, 2.5, 2 -wwBetaMapValues = array, U08, 3828, [8], "", 0.01, 0, 0, 2.5, 2 -torqueTable = array, U08, 3836, [6x6], "Nm", 10.0, 0, 0, 255, 0 -torqueRpmBins = array, U16, 3872, [6], "RPM", 1, 0, 0, 65000, 0 -torqueLoadBins = array, U16, 3884, [6], "Load", 1, 0, 0, 65000, 0 -gearControllerMode = bits, U08, 3896, [0:1], "None", "Button Shift" -transmissionControllerMode = bits, U08, 3897, [0:1], "None", "Simple Transmission", "GM 4L6X" -acrDisablePhase = scalar, U16, 3898, "deg", 1, 0, 0, 720, 0 -auxLinear1_hwChannel = bits, U08, 3900, [0:5], $adc_channel_e_list -auxLinear1_v1 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 -auxLinear1_value1 = scalar, F32, 3908, "", 1, 0, 0, 1000000, 2 -auxLinear1_v2 = scalar, F32, 3912, "volts", 1, 0, 0, 10, 2 -auxLinear1_value2 = scalar, F32, 3916, "", 1, 0, 0, 1000000, 2 -auxLinear2_hwChannel = bits, U08, 3920, [0:5], $adc_channel_e_list -auxLinear2_v1 = scalar, F32, 3924, "volts", 1, 0, 0, 10, 2 -auxLinear2_value1 = scalar, F32, 3928, "", 1, 0, 0, 1000000, 2 -auxLinear2_v2 = scalar, F32, 3932, "volts", 1, 0, 0, 10, 2 -auxLinear2_value2 = scalar, F32, 3936, "", 1, 0, 0, 1000000, 2 -tcu_tcc_onoff_solenoid = bits, U16, 3940, [0:8], $output_pin_e_list -tcu_tcc_onoff_solenoid_mode = bits, U08, 3942, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid = bits, U16, 3944, [0:8], $output_pin_e_list -tcu_tcc_pwm_solenoid_mode = bits, U08, 3946, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_tcc_pwm_solenoid_freq = scalar, U16, 3948, "Hz", 1, 0, 0, 3000, 0 -tcu_pc_solenoid_pin = bits, U16, 3950, [0:8], $output_pin_e_list -tcu_pc_solenoid_pin_mode = bits, U08, 3952, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_pc_solenoid_freq = scalar, U16, 3954, "Hz", 1, 0, 0, 3000, 0 -tcu_32_solenoid_pin = bits, U16, 3956, [0:8], $output_pin_e_list -tcu_32_solenoid_pin_mode = bits, U08, 3958, [0:1], "default", "default inverted", "open collector", "open collector inverted" -tcu_32_solenoid_freq = scalar, U16, 3960, "Hz", 1, 0, 0, 3000, 0 -acrPin2 = bits, U16, 3962, [0:8], $output_pin_e_list -etbMinimumPosition = scalar, F32, 3964, "%", 1, 0, 0.01, 100, 2 -tuneHidingKey = scalar, U16, 3968, "", 1, 0, 0, 20000, 0 -vinNumber = string, ASCII, 3970, 17 -highSpeedOffsets = array, U16, 3988, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave -etbDutyShutdownThreshold = scalar, F32, 4052, "", 1, 0, 0, 100, 0 -fuelPressureSensorMode = bits, U08, 4056, [0:1], "Absolute", "Gauge", "Differential", "INVALID" -luaDigitalInputPins1 = bits, U16, 4058, [0:7], $switch_input_pin_e_list -luaDigitalInputPins2 = bits, U16, 4060, [0:7], $switch_input_pin_e_list -luaDigitalInputPins3 = bits, U16, 4062, [0:7], $switch_input_pin_e_list -luaDigitalInputPins4 = bits, U16, 4064, [0:7], $switch_input_pin_e_list -luaDigitalInputPins5 = bits, U16, 4066, [0:7], $switch_input_pin_e_list -luaDigitalInputPins6 = bits, U16, 4068, [0:7], $switch_input_pin_e_list -luaDigitalInputPins7 = bits, U16, 4070, [0:7], $switch_input_pin_e_list -luaDigitalInputPins8 = bits, U16, 4072, [0:7], $switch_input_pin_e_list -tpsTspCorrValuesBins = array, U08, 4074, [4], "RPM", 50.0, 0, 0, 17500, 0 -ALSMinRPM = scalar, S16, 4078, "rpm", 1, 0, 0, 20000, 0 -ALSMaxRPM = scalar, S16, 4080, "rpm", 1, 0, 0, 20000, 0 -ALSMaxDuration = scalar, S16, 4082, "sec", 1, 0, 0, 10, 0 -ALSMinCLT = scalar, S08, 4084, "C", 1, 0, 0, 90, 0 -ALSMaxCLT = scalar, S08, 4085, "C", 1, 0, 0, 105, 0 -alsMinTimeBetween = scalar, U08, 4086, "", 1, 0, 0, 20000, 0 -alsEtbPosition = scalar, U08, 4087, "", 1, 0, 0, 20000, 0 -acRelayAlternatorDutyAdder = scalar, U08, 4088, "%", 1, 0, 0, 100, 0 -sentEtbType = bits, S08, 4089, [0:1], "None", "GM type 1", "Ford type 1", "Custom" -customSentTpsMin = scalar, U16, 4090, "", 1, 0, 0, 32000, 0 -ALSIdleAdd = scalar, S32, 4092, "%", 1, 0, 0, 100, 2 -ALSEtbAdd = scalar, S32, 4096, "%", 1, 0, 0, 100, 2 -ALSSkipRatio = scalar, F32, 4100, "", 1, 0, 0, 1, 1 -ALSMaxDriverThrottleIntent = scalar, U08, 4104, "%", 1, 0, 0, 10, 0 -ALSActivatePinMode = bits, U08, 4105, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tpsSecondaryMaximum = scalar, U08, 4106, "%", 0.5, 0, 0, 100, 1 -ppsSecondaryMaximum = scalar, U08, 4107, "%", 0.5, 0, 0, 100, 1 -luaDigitalInputPinModes1 = bits, U08, 4108, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes2 = bits, U08, 4109, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes3 = bits, U08, 4110, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes4 = bits, U08, 4111, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes5 = bits, U08, 4112, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes6 = bits, U08, 4113, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes7 = bits, U08, 4114, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -luaDigitalInputPinModes8 = bits, U08, 4115, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -customSentTpsMax = scalar, U16, 4116, "", 1, 0, 0, 32000, 0 -kLineBaudRate = scalar, U16, 4118, "", 1, 0, 0, 32000, 0 -canGpioType = bits, S08, 4120, [0:1], "None", "DRT protocol", "MS protocol" -uiMode = bits, S08, 4121, [0:1], "Full", "Installation", "Tuning" -hpfpPeakPos = scalar, S16, 4122, "deg", 1, 0, -719, 719, 0 -kLinePeriodUs = scalar, S16, 4124, "us", 1, 0, 0, 30000, 0 -rpmSoftLimitWindowSize = scalar, U08, 4126, "RPM", 10.0, 0, 0, 2500, 0 -rpmSoftLimitTimingRetard = scalar, U08, 4127, "deg", 0.2, 0, 0, 50, 1 -rpmSoftLimitFuelAdded = scalar, U08, 4128, "%", 0.2, 0, 0, 50, 1 -rpmHardLimitHyst = scalar, U08, 4129, "RPM", 10.0, 0, 0, 2500, 0 -benchTestOffTime = scalar, U16, 4130, "ms", 0.1, 0, 0, 2000, 1 -boostCutPressureHyst = scalar, U08, 4132, "kPa (absolute)", 0.5, 0, 0, 125, 1 -gearBasedOpenLoopBoostAdder = array, U08, 4133, [10], "%", 0.5, 0, 0, 100, 1 -benchTestCount = scalar, U32, 4144, "", 1, 0, 0, 10000000, 0 -iacByTpsHoldTime = scalar, U08, 4148, "seconds", 0.1, 0, 0, 25, 1 -iacByTpsDecayTime = scalar, U08, 4149, "seconds", 0.1, 0, 0, 25, 1 -tcu_rangeInput1 = bits, U16, 4150, [0:7], $switch_input_pin_e_list -tcu_rangeInput2 = bits, U16, 4152, [0:7], $switch_input_pin_e_list -tcu_rangeInput3 = bits, U16, 4154, [0:7], $switch_input_pin_e_list -tcu_rangeInput4 = bits, U16, 4156, [0:7], $switch_input_pin_e_list -tcu_rangeInput5 = bits, U16, 4158, [0:7], $switch_input_pin_e_list -tcu_rangeInput6 = bits, U16, 4160, [0:7], $switch_input_pin_e_list -tcu_rangeInputMode1 = bits, U08, 4162, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode2 = bits, U08, 4163, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode3 = bits, U08, 4164, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode4 = bits, U08, 4165, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode5 = bits, U08, 4166, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -tcu_rangeInputMode6 = bits, U08, 4167, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" -canVssScaling = scalar, U16, 4168, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 -oilTempSensor_tempC_1 = scalar, F32, 4172, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_2 = scalar, F32, 4176, "*C", 1, 0, -55, 200, 1 -oilTempSensor_tempC_3 = scalar, F32, 4180, "*C", 1, 0, -55, 200, 1 -oilTempSensor_resistance_1 = scalar, F32, 4184, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_2 = scalar, F32, 4188, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_resistance_3 = scalar, F32, 4192, "Ohm", 1, 0, 0, 1000000, 1 -oilTempSensor_bias_resistor = scalar, F32, 4196, "Ohm", 1, 0, 0, 200000, 1 -oilTempSensor_adcChannel = bits, U08, 4200, [0:5], $adc_channel_e_list -fuelTempSensor_tempC_1 = scalar, F32, 4204, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_2 = scalar, F32, 4208, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_tempC_3 = scalar, F32, 4212, "*C", 1, 0, -55, 200, 1 -fuelTempSensor_resistance_1 = scalar, F32, 4216, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_2 = scalar, F32, 4220, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_resistance_3 = scalar, F32, 4224, "Ohm", 1, 0, 0, 1000000, 1 -fuelTempSensor_bias_resistor = scalar, F32, 4228, "Ohm", 1, 0, 0, 200000, 1 -fuelTempSensor_adcChannel = bits, U08, 4232, [0:5], $adc_channel_e_list -ambientTempSensor_tempC_1 = scalar, F32, 4236, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_2 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_tempC_3 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 -ambientTempSensor_resistance_1 = scalar, F32, 4248, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_2 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_resistance_3 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 -ambientTempSensor_bias_resistor = scalar, F32, 4260, "Ohm", 1, 0, 0, 200000, 1 -ambientTempSensor_adcChannel = bits, U08, 4264, [0:5], $adc_channel_e_list -compressorDischargeTemperature_tempC_1 = scalar, F32, 4268, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_2 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_tempC_3 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 -compressorDischargeTemperature_resistance_1 = scalar, F32, 4280, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_2 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_resistance_3 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 -compressorDischargeTemperature_bias_resistor = scalar, F32, 4292, "Ohm", 1, 0, 0, 200000, 1 -compressorDischargeTemperature_adcChannel = bits, U08, 4296, [0:5], $adc_channel_e_list -throttleInletPressureChannel = bits, U08, 4300, [0:5], $adc_channel_e_list -compressorDischargePressureChannel = bits, U08, 4301, [0:5], $adc_channel_e_list -dacOutputPins1 = bits, U16, 4302, [0:7], $gpio_list -dacOutputPins2 = bits, U16, 4304, [0:7], $gpio_list -speedometerOutputPin = bits, U16, 4306, [0:8], $output_pin_e_list -speedometerPulsePerKm = scalar, U16, 4308, "", 1, 0, 0, 65000, 0 -simulatorCamPosition1 = scalar, U08, 4310, "", 1, 0, 0, 100, 0 -simulatorCamPosition2 = scalar, U08, 4311, "", 1, 0, 0, 100, 0 -simulatorCamPosition3 = scalar, U08, 4312, "", 1, 0, 0, 100, 0 -simulatorCamPosition4 = scalar, U08, 4313, "", 1, 0, 0, 100, 0 -ignKeyAdcChannel = bits, U08, 4314, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4315, "", 1, 0, 0, 100, 0 -triggerVVTGapOverrideFrom1 = scalar, F32, 4316, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom2 = scalar, F32, 4320, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom3 = scalar, F32, 4324, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideFrom4 = scalar, F32, 4328, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo1 = scalar, F32, 4332, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo2 = scalar, F32, 4336, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo3 = scalar, F32, 4340, "ratio", 1, 0, 0, 20, 3 -triggerVVTGapOverrideTo4 = scalar, F32, 4344, "ratio", 1, 0, 0, 20, 3 -tractionControlEtbDrop = array, S08, 4348, [6x6], "%", 1, 0, -100, 0, 0 -maxInjectorDutyInstant = scalar, U08, 4384, "%", 1, 0, 50, 200, 0 -maxInjectorDutySustained = scalar, U08, 4385, "%", 1, 0, 50, 120, 0 -maxInjectorDutySustainedTimeout = scalar, U08, 4386, "sec", 0.1, 0, 0, 5, 1 -injectionPinsStage21 = bits, U16, 4388, [0:8], $output_pin_e_list -injectionPinsStage22 = bits, U16, 4390, [0:8], $output_pin_e_list -injectionPinsStage23 = bits, U16, 4392, [0:8], $output_pin_e_list -injectionPinsStage24 = bits, U16, 4394, [0:8], $output_pin_e_list -injectionPinsStage25 = bits, U16, 4396, [0:8], $output_pin_e_list -injectionPinsStage26 = bits, U16, 4398, [0:8], $output_pin_e_list -injectionPinsStage27 = bits, U16, 4400, [0:8], $output_pin_e_list -injectionPinsStage28 = bits, U16, 4402, [0:8], $output_pin_e_list -injectionPinsStage29 = bits, U16, 4404, [0:8], $output_pin_e_list -injectionPinsStage210 = bits, U16, 4406, [0:8], $output_pin_e_list -injectionPinsStage211 = bits, U16, 4408, [0:8], $output_pin_e_list -injectionPinsStage212 = bits, U16, 4410, [0:8], $output_pin_e_list -mainUnusedEnd = array, U08, 4412, [168], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 4580, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 4612, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 4644, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 4708, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 4716, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 4724, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 4740, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 4756, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 4772, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 4788, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 4820, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 4852, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4916, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4980, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 5044, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 5108, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 5140, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 5172, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 5204, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 5236, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 5268, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 5300, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 5332, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 5364, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 5380, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 5396, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 5460, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 5492, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 5524, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 5532, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 5540, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 5556, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 5572, 120 -afterstartCoolantBins = array, F32, 5692, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 5724, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 5756, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 5788, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 5820, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5884, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5892, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5956, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5964, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 6028, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 6036, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 6044, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 6076, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 6108, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 6116, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 6148, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 6152, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 6156, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 6188, 8000 -cltFuelCorrBins = array, F32, 14188, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 14252, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 14316, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 14380, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 14444, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 14476, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 14508, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 14540, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 14572, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 14636, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 14700, [32], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14828, [32], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 14956, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15020, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15028, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15036, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 15548, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 15580, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 15612, [10x6], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 15672, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 16184, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 16216, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 16248, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 16312, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 16328, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 16344, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 16408, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 16424, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 16440, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 16952, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 16984, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17016, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 17528, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 17560, [16], "RPM", 1, 0, 0, 18000, 0 +injectorSecondary_flow = scalar, F32, 120, "cm3/min", 1, 0, 0, 99999, 2 +injectorSecondary_battLagCorrBins = array, F32, 124, [8], "volts", 1, 0, 0, 20, 2 +injectorSecondary_battLagCorr = array, F32, 156, [8], "ms", 1, 0, 0, 50, 2 +isForcedInduction = bits, U32, 188, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 188, [1:1], "false", "true" +enableKline = bits, U32, 188, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 188, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 188, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 188, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 188, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 188, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 188, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 188, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 188, [10:10], "false", "true" +useEeprom = bits, U32, 188, [11:11], "false", "true" +useCicPidForIdle = bits, U32, 188, [12:12], "false", "true" +useTLE8888_cranking_hack = bits, U32, 188, [13:13], "false", "true" +kickStartCranking = bits, U32, 188, [14:14], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 188, [15:15], "false", "true" +launchControlEnabled = bits, U32, 188, [16:16], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 188, [17:17], "with filter", "without filter" +antiLagEnabled = bits, U32, 188, [18:18], "false", "true" +useRunningMathForCranking = bits, U32, 188, [19:19], "Fixed", "Fuel Map" +displayLogicLevelsInEngineSniffer = bits, U32, 188, [20:20], "false", "true" +useTLE8888_stepper = bits, U32, 188, [21:21], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 188, [22:22], "false", "true" +verboseCan = bits, U32, 188, [23:23], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 188, [24:24], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 188, [25:25], "false", "true" +cltSensorPulldown = bits, U32, 188, [26:26], "false", "true" +iatSensorPulldown = bits, U32, 188, [27:27], "false", "true" +allowIdenticalPps = bits, U32, 188, [28:28], "false", "true" +overrideVvtTriggerGaps = bits, U32, 188, [29:29], "false", "true" +useSpiImu = bits, U32, 188, [30:30], "false", "true" +enableStagedInjection = bits, U32, 188, [31:31], "false", "true" +tpsMin = scalar, S16, 192, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 194, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 196, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 198, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 200, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 204, "RPM", 1, 0, 0, 12000, 0 +ignitionDwellForCrankingMs = scalar, F32, 208, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 212, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 214, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 216, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 248, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 280, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 312, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 344, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 348, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 352, [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", "MPXH6300" +map_sensor_hwChannel = bits, U08, 353, [0:5], $adc_channel_e_list +clt_tempC_1 = scalar, F32, 356, "*C", 1, 0, -55, 200, 1 +clt_tempC_2 = scalar, F32, 360, "*C", 1, 0, -55, 200, 1 +clt_tempC_3 = scalar, F32, 364, "*C", 1, 0, -55, 200, 1 +clt_resistance_1 = scalar, F32, 368, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_2 = scalar, F32, 372, "Ohm", 1, 0, 0, 1000000, 1 +clt_resistance_3 = scalar, F32, 376, "Ohm", 1, 0, 0, 1000000, 1 +clt_bias_resistor = scalar, F32, 380, "Ohm", 1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 384, [0:5], $adc_channel_e_list +iat_tempC_1 = scalar, F32, 388, "*C", 1, 0, -55, 200, 1 +iat_tempC_2 = scalar, F32, 392, "*C", 1, 0, -55, 200, 1 +iat_tempC_3 = scalar, F32, 396, "*C", 1, 0, -55, 200, 1 +iat_resistance_1 = scalar, F32, 400, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_2 = scalar, F32, 404, "Ohm", 1, 0, 0, 1000000, 1 +iat_resistance_3 = scalar, F32, 408, "Ohm", 1, 0, 0, 1000000, 1 +iat_bias_resistor = scalar, F32, 412, "Ohm", 1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 416, [0:5], $adc_channel_e_list +launchTimingRetard = scalar, S32, 420, "deg", 1, 0, -180, 180, 2 +hip9011PrescalerAndSDO = scalar, S32, 424, "integer", 1, 0, 0, 32, 0 +knockBandCustom = scalar, F32, 428, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 432, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 434, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 436, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 440, [0:6], "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", "1-5-4-8-3-7-2-6", "fo33", "fo34", "fo35", "fo36", "fo37" +cylinderBore = scalar, F32, 444, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 448, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 449, "%", 1, 0, 0, 10, 0 +crankingInjectionMode = bits, U08, 450, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 451, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 452, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 454, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 455, "", 1, 0, 0, 250, 0 +crankingTimingAngle = scalar, F32, 456, "deg", 1, 0, -30, 30, 0 +ignitionMode = bits, U08, 460, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +gapTrackingLengthOverride = scalar, S08, 461, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 462, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 464, "kPa", 1, 0, 0, 1000, 0 +timingMode = bits, U08, 466, [0:0], "dynamic", "fixed" +fixedModeTiming = scalar, F32, 468, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 472, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 476, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 480, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, F32, 484, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, F32, 488, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 492, [0:8], $output_pin_e_list +driveWheelRevPerKm = scalar, F32, 496, "revs/km", 1, 0, 100, 1000, 1 +canNbcType = bits, U08, 500, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW E46", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "MS Simplified Broadcast", "type 14" +canSleepPeriodMs = scalar, S32, 504, "ms", 1, 0, 0, 1000, 2 +camDecoder2jzPrecision = scalar, U08, 508, "", 1, 0, 0, 100, 0 +byFirmwareVersion = scalar, S32, 512, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 516, [0:5], $adc_channel_e_list +vbattAdcChannel = bits, U08, 517, [0:5], $adc_channel_e_list +fuelLevelSensor = bits, U08, 518, [0:5], $adc_channel_e_list +tps2_1AdcChannel = bits, U08, 519, [0:5], $adc_channel_e_list +idle_derivativeFilterLoss = scalar, F32, 520, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 524, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 528, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83" +trigger_customTotalToothCount = scalar, S32, 532, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 536, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 540, "%", 1, 0, 0, 50, 1 +hip9011SpiDevice = bits, U08, 544, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostControlSafeDutyCycle = scalar, U08, 545, "%", 1, 0, 0, 100, 0 +mafAdcChannel = bits, U08, 546, [0:5], $adc_channel_e_list +acrRevolutions = scalar, U08, 547, "", 1, 0, 0, 100, 0 +globalFuelCorrection = scalar, F32, 548, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 552, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 556, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 560, [0:7], $brain_input_pin_e_list +camInputs2 = bits, U16, 562, [0:7], $brain_input_pin_e_list +camInputs3 = bits, U16, 564, [0:7], $brain_input_pin_e_list +camInputs4 = bits, U16, 566, [0:7], $brain_input_pin_e_list +afr_hwChannel = bits, U08, 568, [0:5], $adc_channel_e_list +afr_hwChannel2 = bits, U08, 569, [0:5], $adc_channel_e_list +afr_v1 = scalar, F32, 572, "volts", 1, 0, 0, 10, 2 +afr_value1 = scalar, F32, 576, "AFR", 1, 0, 0, 1000, 2 +afr_v2 = scalar, F32, 580, "volts", 1, 0, 0, 10, 2 +afr_value2 = scalar, F32, 584, "AFR", 1, 0, 0, 1000, 2 +throttlePedalPositionAdcChannel = bits, U08, 588, [0:5], $adc_channel_e_list +etbSplit = scalar, U08, 589, "%", 0.1, 0, 0, 20, 1 +tle6240_cs = bits, U16, 590, [0:7], $gpio_list +tle6240_csPinMode = bits, U08, 592, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33810_csPinMode = bits, U08, 593, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalUpPin = bits, U16, 594, [0:7], $switch_input_pin_e_list +baroSensor_lowValue = scalar, F32, 596, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 600, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 604, [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", "MPXH6300" +baroSensor_hwChannel = bits, U08, 605, [0:5], $adc_channel_e_list +idle_solenoidFrequency = scalar, S32, 608, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 612, [0:8], $output_pin_e_list +idle_stepperDirectionPin = bits, U16, 614, [0:7], $gpio_list +idle_stepperStepPin = bits, U16, 616, [0:7], $gpio_list +idle_solenoidPinMode = bits, U08, 618, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 620, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 624, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 625, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 626, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 627, "", 1, 0, 3, 200 0 +vssGearRatio = scalar, U16, 628, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 630, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 631, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 632, [0:7], $gpio_list +injectionPins1 = bits, U16, 634, [0:8], $output_pin_e_list +injectionPins2 = bits, U16, 636, [0:8], $output_pin_e_list +injectionPins3 = bits, U16, 638, [0:8], $output_pin_e_list +injectionPins4 = bits, U16, 640, [0:8], $output_pin_e_list +injectionPins5 = bits, U16, 642, [0:8], $output_pin_e_list +injectionPins6 = bits, U16, 644, [0:8], $output_pin_e_list +injectionPins7 = bits, U16, 646, [0:8], $output_pin_e_list +injectionPins8 = bits, U16, 648, [0:8], $output_pin_e_list +injectionPins9 = bits, U16, 650, [0:8], $output_pin_e_list +injectionPins10 = bits, U16, 652, [0:8], $output_pin_e_list +injectionPins11 = bits, U16, 654, [0:8], $output_pin_e_list +injectionPins12 = bits, U16, 656, [0:8], $output_pin_e_list +ignitionPins1 = bits, U16, 658, [0:8], $output_pin_e_list +ignitionPins2 = bits, U16, 660, [0:8], $output_pin_e_list +ignitionPins3 = bits, U16, 662, [0:8], $output_pin_e_list +ignitionPins4 = bits, U16, 664, [0:8], $output_pin_e_list +ignitionPins5 = bits, U16, 666, [0:8], $output_pin_e_list +ignitionPins6 = bits, U16, 668, [0:8], $output_pin_e_list +ignitionPins7 = bits, U16, 670, [0:8], $output_pin_e_list +ignitionPins8 = bits, U16, 672, [0:8], $output_pin_e_list +ignitionPins9 = bits, U16, 674, [0:8], $output_pin_e_list +ignitionPins10 = bits, U16, 676, [0:8], $output_pin_e_list +ignitionPins11 = bits, U16, 678, [0:8], $output_pin_e_list +ignitionPins12 = bits, U16, 680, [0:8], $output_pin_e_list +injectionPinMode = bits, U08, 682, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 683, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 684, [0:8], $output_pin_e_list +fuelPumpPinMode = bits, U08, 686, [0:1], "default", "default inverted", "open collector", "open collector inverted" +gapVvtTrackingLengthOverride = scalar, S08, 687, "count", 1, 0, 1, 4, 0 +malfunctionIndicatorPin = bits, U16, 688, [0:8], $output_pin_e_list +malfunctionIndicatorPinMode = bits, U08, 690, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 691, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 692, [0:8], $output_pin_e_list +clutchDownPin = bits, U16, 694, [0:7], $switch_input_pin_e_list +alternatorControlPin = bits, U16, 696, [0:8], $output_pin_e_list +alternatorControlPinMode = bits, U08, 698, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 699, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +digitalPotentiometerChipSelect1 = bits, U16, 700, [0:7], $gpio_list +digitalPotentiometerChipSelect2 = bits, U16, 702, [0:7], $gpio_list +digitalPotentiometerChipSelect3 = bits, U16, 704, [0:7], $gpio_list +digitalPotentiometerChipSelect4 = bits, U16, 706, [0:7], $gpio_list +electronicThrottlePin1Mode = bits, U08, 708, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 709, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 710, [0:7], $gpio_list +digitalPotentiometerSpiDevice = bits, U08, 712, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33972_cs = bits, U16, 714, [0:7], $gpio_list +mc33972_csPinMode = bits, U08, 716, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 717, [0:5], $adc_channel_e_list +tps1_2AdcChannel = bits, U08, 718, [0:5], $adc_channel_e_list +tps2_2AdcChannel = bits, U08, 719, [0:5], $adc_channel_e_list +throttlePedalPositionSecondAdcChannel = bits, U08, 720, [0:5], $adc_channel_e_list +fuelLevelValues = array, U08, 721, [8], "%", 1, 0, 0, 100, 0 +afr_type = bits, S08, 729, [0:2], "BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM" +mc33810_cs1 = bits, U16, 730, [0:7], $gpio_list +idle_antiwindupFreq = scalar, F32, 732, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 736, [0:7], $brain_input_pin_e_list +triggerInputPins2 = bits, U16, 738, [0:7], $brain_input_pin_e_list +mc33_t_min_boost = scalar, U16, 740, "us", 1, 0, 0, 10000, 0 +hip9011CsPinMode = bits, U08, 742, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tachOutputPin = bits, U16, 744, [0:8], $output_pin_e_list +tachOutputPinMode = bits, U08, 746, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mainRelayPin = bits, U16, 748, [0:8], $output_pin_e_list +sdCardCsPin = bits, U16, 750, [0:7], $gpio_list +canTxPin = bits, U16, 752, [0:7], $gpio_list +canRxPin = bits, U16, 754, [0:7], $gpio_list +throttlePedalUpPinMode = bits, U08, 756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 757, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 758, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 760, [0:7], $brain_input_pin_e_list +tcuInputSpeedSensorTeeth = scalar, U08, 762, "", 1, 0, 0, 100, 0 +wastegatePositionMin = scalar, U16, 764, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 766, "mv", 1, 0, 0, 5000, 0 +idlePositionMin = scalar, U16, 768, "mv", 1, 0, 0, 5000, 0 +idlePositionMax = scalar, U16, 770, "mv", 1, 0, 0, 5000, 0 +tunerStudioSerialSpeed = scalar, U32, 772, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 776, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 780, [0:7], $gpio_list +triggerSimulatorPins2 = bits, U16, 782, [0:7], $gpio_list +fordInjectorSmallPulseSlope = scalar, U16, 784, "g/s", 0.001, 0, 0, 65, 3 +triggerSimulatorPinModes1 = bits, U08, 786, [0:1], "default", "default inverted", "open collector", "open collector inverted" +triggerSimulatorPinModes2 = bits, U08, 787, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 788, [0:5], $adc_channel_e_list +o2heaterPin = bits, U16, 790, [0:8], $output_pin_e_list +o2heaterPinModeTodO = bits, U08, 792, [0:1], "default", "default inverted", "open collector", "open collector inverted" +lambdaProtectionMinRpm = scalar, U08, 793, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 794, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 796, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 796, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 796, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 796, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 796, [4:4], "11 bit", "29 bit" +rethrowHardFault = bits, U32, 796, [5:5], "false", "true" +isHip9011Enabled = bits, U32, 796, [6:6], "false", "true" +requireFootOnBrakeToCrank = bits, U32, 796, [7:7], "false", "true" +verboseQuad = bits, U32, 796, [8:8], "false", "true" +useStepperIdle = bits, U32, 796, [9:9], "false", "true" +enabledStep1Limiter = bits, U32, 796, [10:10], "false", "true" +useTpicAdvancedMode = bits, U32, 796, [11:11], "false", "true" +lambdaProtectionEnable = bits, U32, 796, [12:12], "false", "true" +verboseTLE8888 = bits, U32, 796, [13:13], "false", "true" +enableVerboseCanTx = bits, U32, 796, [14:14], "false", "true" +etb1configured = bits, U32, 796, [15:15], "false", "true" +etb2configured = bits, U32, 796, [16:16], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 796, [17:17], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 796, [18:18], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 796, [19:19], "false", "true" +coastingFuelCutEnabled = bits, U32, 796, [20:20], "false", "true" +useIacTableForCoasting = bits, U32, 796, [21:21], "false", "true" +useNoiselessTriggerDecoder = bits, U32, 796, [22:22], "false", "true" +useIdleTimingPidControl = bits, U32, 796, [23:23], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 796, [24:24], "false", "true" +is_enabled_spi_4 = bits, U32, 796, [25:25], "false", "true" +pauseEtbControl = bits, U32, 796, [26:26], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 796, [27:27], "false", "true" +verboseKLine = bits, U32, 796, [28:28], "false", "true" +idleIncrementalPidCic = bits, U32, 796, [29:29], "false", "true" +enableAemXSeries = bits, U32, 796, [30:30], "false", "true" +logicAnalyzerPins1 = bits, U16, 800, [0:7], $brain_input_pin_e_list +logicAnalyzerPins2 = bits, U16, 802, [0:7], $brain_input_pin_e_list +logicAnalyzerPins3 = bits, U16, 804, [0:7], $brain_input_pin_e_list +logicAnalyzerPins4 = bits, U16, 806, [0:7], $brain_input_pin_e_list +mainRelayPinMode = bits, U08, 808, [0:1], "default", "default inverted", "open collector", "open collector inverted" +hip9011CsPin = bits, U16, 810, [0:7], $gpio_list +hip9011IntHoldPin = bits, U16, 812, [0:7], $gpio_list +hip9011IntHoldPinMode = bits, U08, 814, [0:1], "default", "default inverted", "open collector", "open collector inverted" +verboseCanBaseAddress = scalar, U32, 816, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 820, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 821, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 822, [0:8], $output_pin_e_list +acFanPinMode = bits, U08, 824, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 825, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 826, [8], "volts", 0.1, 0, 0, 20, 1 +imuType = bits, U08, 834, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +dwellVoltageCorrValues = array, U08, 835, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 844, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 846, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 848, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 850, [0:7], $gpio_list +lps25BaroSensorSda = bits, U16, 852, [0:7], $gpio_list +vehicleSpeedSensorInputPin = bits, U16, 854, [0:7], $brain_input_pin_e_list +clutchUpPin = bits, U16, 856, [0:7], $switch_input_pin_e_list +injectorNonlinearMode = bits, U08, 858, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 859, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 860, [0:7], $gpio_list +max31855_cs2 = bits, U16, 862, [0:7], $gpio_list +max31855_cs3 = bits, U16, 864, [0:7], $gpio_list +max31855_cs4 = bits, U16, 866, [0:7], $gpio_list +max31855_cs5 = bits, U16, 868, [0:7], $gpio_list +max31855_cs6 = bits, U16, 870, [0:7], $gpio_list +max31855_cs7 = bits, U16, 872, [0:7], $gpio_list +max31855_cs8 = bits, U16, 874, [0:7], $gpio_list +flexSensorPin = bits, U16, 876, [0:7], $brain_input_pin_e_list +test557pin = bits, U16, 878, [0:7], $gpio_list +stepperDirectionPinMode = bits, U08, 880, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 881, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 882, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 883, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 884, "hz", 1, 0, 1, 250, 0 +idlePositionChannel = bits, U08, 886, [0:5], $adc_channel_e_list +debugMapAveraging = bits, U16, 888, [0:7], $gpio_list +starterRelayDisablePin = bits, U16, 890, [0:8], $output_pin_e_list +starterRelayDisablePinMode = bits, U08, 892, [0:1], "default", "default inverted", "open collector", "open collector inverted" +secondSolenoidPin = bits, U16, 894, [0:8], $output_pin_e_list +startStopButtonPin = bits, U16, 896, [0:7], $switch_input_pin_e_list +mapMinBufferLength = scalar, S32, 900, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 904, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 906, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 908, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 910, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 912, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 914, "Seconds", 1, 0, 0, 30, 0 +triggerErrorPin = bits, U16, 916, [0:7], $gpio_list +triggerErrorPinMode = bits, U08, 918, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 920, [0:8], $output_pin_e_list +lambdaProtectionMinTps = scalar, U08, 922, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 923, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 924, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 925, [0:1], "default", "default inverted", "open collector", "open collector inverted" +scriptSetting1 = scalar, F32, 928, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 932, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 936, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 940, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 944, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 948, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 952, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 956, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 960, [0:7], $gpio_list +spi1misoPin = bits, U16, 962, [0:7], $gpio_list +spi1sckPin = bits, U16, 964, [0:7], $gpio_list +spi2mosiPin = bits, U16, 966, [0:7], $gpio_list +spi2misoPin = bits, U16, 968, [0:7], $gpio_list +spi2sckPin = bits, U16, 970, [0:7], $gpio_list +spi3mosiPin = bits, U16, 972, [0:7], $gpio_list +spi3misoPin = bits, U16, 974, [0:7], $gpio_list +spi3sckPin = bits, U16, 976, [0:7], $gpio_list +cdmInputPin = bits, U16, 978, [0:7], $gpio_list +consoleUartDevice = bits, U08, 980, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 981, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +mafSensorType = bits, S08, 982, [0:1], "v0", "v1", "v2", "v3" +clutchUpPinInverted = bits, U32, 984, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 984, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 984, [2:2], "false", "true" +multisparkEnable = bits, U32, 984, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 984, [4:4], "false", "true" +canInputBCM = bits, U32, 984, [5:5], "false", "true" +consumeObdSensors = bits, U32, 984, [6:6], "false", "true" +enableCanVss = bits, U32, 984, [7:7], "false", "true" +enableInnovateLC2 = bits, U32, 984, [8:8], "false", "true" +showHumanReadableWarning = bits, U32, 984, [9:9], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 984, [10:10], "false", "true" +vvtBooleanForVerySpecialCases = bits, U32, 984, [11:11], "false", "true" +enableSoftwareKnock = bits, U32, 984, [12:12], "false", "true" +verboseVVTDecoding = bits, U32, 984, [13:13], "false", "true" +invertCamVVTSignal = bits, U32, 984, [14:14], "Rising", "Falling" +alphaNUseIat = bits, U32, 984, [15:15], "false", "true" +knockBankCyl1 = bits, U32, 984, [16:16], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 984, [17:17], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 984, [18:18], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 984, [19:19], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 984, [20:20], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 984, [21:21], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 984, [22:22], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 984, [23:23], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 984, [24:24], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 984, [25:25], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 984, [26:26], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 984, [27:27], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 984, [28:28], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 984, [29:29], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 984, [30:30], "false", "true" +verboseCan2 = bits, U32, 984, [31:31], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 988, [0:7], $gpio_list +etbIo1_directionPin2 = bits, U16, 990, [0:7], $gpio_list +etbIo1_controlPin = bits, U16, 992, [0:7], $gpio_list +etbIo1_disablePin = bits, U16, 994, [0:7], $gpio_list +etbIo2_directionPin1 = bits, U16, 996, [0:7], $gpio_list +etbIo2_directionPin2 = bits, U16, 998, [0:7], $gpio_list +etbIo2_controlPin = bits, U16, 1000, [0:7], $gpio_list +etbIo2_disablePin = bits, U16, 1002, [0:7], $gpio_list +boostControlPin = bits, U16, 1004, [0:8], $output_pin_e_list +boostControlPinMode = bits, U08, 1006, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ALSActivatePin = bits, U16, 1008, [0:7], $switch_input_pin_e_list +launchActivatePin = bits, U16, 1010, [0:7], $switch_input_pin_e_list +boostPid_pFactor = scalar, F32, 1012, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 1016, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 1020, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 1024, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 1026, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 1028, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 1030, "", 1, 0, -30000, 30000, 0 +boostType = bits, U08, 1032, [0:0], "Open Loop", "Open + Closed Loop" +ignitionKeyDigitalPinMode = bits, U08, 1033, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +ignitionKeyDigitalPin = bits, U16, 1034, [0:7], $gpio_list +boostPwmFrequency = scalar, S32, 1036, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 1040, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 1041, [0:0], "Switch Input", "Always Active" +launchSpeedThreshold = scalar, S32, 1044, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 1048, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 1052, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 1056, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 1060, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 1064, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 1068, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 1072, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 1076, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 1077, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 1078, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 1079, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 1080, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 1081, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 1082, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 1083, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 1084, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 1085, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 1086, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 1088, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 1089, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 1090, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 1092, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 1093, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 1094, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 1096, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 1097, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 1098, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 1100, [0:7], $gpio_list +stepperDcIo1_directionPin2 = bits, U16, 1102, [0:7], $gpio_list +stepperDcIo1_controlPin = bits, U16, 1104, [0:7], $gpio_list +stepperDcIo1_disablePin = bits, U16, 1106, [0:7], $gpio_list +stepperDcIo2_directionPin1 = bits, U16, 1108, [0:7], $gpio_list +stepperDcIo2_directionPin2 = bits, U16, 1110, [0:7], $gpio_list +stepperDcIo2_controlPin = bits, U16, 1112, [0:7], $gpio_list +stepperDcIo2_disablePin = bits, U16, 1114, [0:7], $gpio_list +engineMake = string, ASCII, 1116, 32 +engineCode = string, ASCII, 1148, 32 +vehicleName = string, ASCII, 1180, 32 +tcu_solenoid1 = bits, U16, 1212, [0:8], $output_pin_e_list +tcu_solenoid2 = bits, U16, 1214, [0:8], $output_pin_e_list +tcu_solenoid3 = bits, U16, 1216, [0:8], $output_pin_e_list +tcu_solenoid4 = bits, U16, 1218, [0:8], $output_pin_e_list +tcu_solenoid5 = bits, U16, 1220, [0:8], $output_pin_e_list +tcu_solenoid6 = bits, U16, 1222, [0:8], $output_pin_e_list +etbFunctions1 = bits, U08, 1224, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +etbFunctions2 = bits, U08, 1225, [0:2], "None", "Throttle 1", "Throttle 2", "Idle Valve", "Wastegate" +drv8860spiDevice = bits, U08, 1226, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +drv8860_cs = bits, U16, 1228, [0:7], $gpio_list +drv8860_csPinMode = bits, U08, 1230, [0:1], "default", "default inverted", "open collector", "open collector inverted" +drv8860_miso = bits, U16, 1232, [0:7], $gpio_list +fuelLevelBins = array, U16, 1234, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1250, [0:8], $output_pin_e_list +luaOutputPins2 = bits, U16, 1252, [0:8], $output_pin_e_list +luaOutputPins3 = bits, U16, 1254, [0:8], $output_pin_e_list +luaOutputPins4 = bits, U16, 1256, [0:8], $output_pin_e_list +luaOutputPins5 = bits, U16, 1258, [0:8], $output_pin_e_list +luaOutputPins6 = bits, U16, 1260, [0:8], $output_pin_e_list +luaOutputPins7 = bits, U16, 1262, [0:8], $output_pin_e_list +luaOutputPins8 = bits, U16, 1264, [0:8], $output_pin_e_list +vvtOffsets1 = scalar, F32, 1268, "value", 1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, F32, 1272, "value", 1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, F32, 1276, "value", 1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, F32, 1280, "value", 1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1284, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1290, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1296, [0:7], $gpio_list +vrThreshold2_rpmBins = array, U08, 1300, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1306, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1312, [0:7], $gpio_list +gpPwmNote1 = string, ASCII, 1316, 16 +gpPwmNote2 = string, ASCII, 1332, 16 +gpPwmNote3 = string, ASCII, 1348, 16 +gpPwmNote4 = string, ASCII, 1364, 16 +tps2SecondaryMin = scalar, U16, 1380, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1382, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1384, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1384, [1:1], "false", "true" +oddFireEngine = bits, U32, 1384, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1384, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1384, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1384, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1384, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1384, [7:7], "false", "true" +canReadEnabled = bits, U32, 1384, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1384, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1384, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1384, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1384, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1384, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1384, [14:14], "Rising", "Falling" +invertSecondaryTriggerSignal = bits, U32, 1384, [15:15], "Rising", "Falling" +cutFuelOnHardLimit = bits, U32, 1384, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1384, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1384, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1384, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1384, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1384, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1384, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1384, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1384, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1384, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1384, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1384, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1384, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1384, [29:29], "false", "true" +twoStroke = bits, U32, 1384, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1384, [31:31], "On crankshaft", "On camshaft" +hipOutputChannel = bits, U08, 1388, [0:5], $adc_channel_e_list +acSwitch = bits, U16, 1390, [0:7], $switch_input_pin_e_list +vRefAdcChannel = bits, U08, 1392, [0:5], $adc_channel_e_list +etbNeutralPosition = scalar, U08, 1393, "%", 1, 0, 0, 100, 0 +idleMode = bits, U08, 1394, [0:0], "Open Loop + Closed Loop", "Open Loop" +isInjectionEnabled = bits, U32, 1396, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1396, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1396, [2:2], "false", "true" +complexWallModel = bits, U32, 1396, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1396, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1396, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1396, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1396, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1396, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1396, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1396, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1396, [11:11], "false", "true" +cutFuelInAcr = bits, U32, 1396, [12:12], "false", "true" +hondaK = bits, U32, 1396, [13:13], "false", "true" +twoWireBatchIgnition = bits, U32, 1396, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1396, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1396, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1396, [17:17], "false", "true" +flexCranking = bits, U32, 1396, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1396, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1396, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1396, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1396, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1396, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1396, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1396, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1396, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1396, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1396, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1396, [29:29], "false", "true" +stepper_dc_use_two_wires = bits, U32, 1396, [30:30], "false", "true" +watchOutForLinearTime = bits, U32, 1396, [31:31], "false", "true" +engineChartSize = scalar, U32, 1400, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1404, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1408, [0:7], $gpio_list +camInputsDebug2 = bits, U16, 1410, [0:7], $gpio_list +camInputsDebug3 = bits, U16, 1412, [0:7], $gpio_list +camInputsDebug4 = bits, U16, 1414, [0:7], $gpio_list +acIdleRpmTarget = scalar, S16, 1416, "RPM", 1, 0, 0, 2000, 0 +warningPeriod = scalar, S16, 1418, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1420, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1424, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1428, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1432, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1436, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1440, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1444, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1448, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1452, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1456, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1460, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1464, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1466, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1468, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1470, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1472, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1476, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1480, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1484, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1486, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1488, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1490, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1492, [0:7], $gpio_list +triggerInputDebugPins2 = bits, U16, 1494, [0:7], $gpio_list +airTaperRpmRange = scalar, S16, 1496, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1498, [0:7], $brain_input_pin_e_list +tps2Min = scalar, S16, 1500, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1502, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1504, [0:8], $output_pin_e_list +startStopButtonMode = bits, U08, 1506, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +mc33816_flag0 = bits, U16, 1508, [0:7], $gpio_list +tachPulsePerRev = scalar, U08, 1510, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1512, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1516, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1520, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1522, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1524, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1528, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1532, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1536, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1538, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1540, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1542, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1544, "Fraction", 1, 0, 0, 1, 2 +binarySerialTxPin = bits, U16, 1548, [0:7], $gpio_list +binarySerialRxPin = bits, U16, 1550, [0:7], $gpio_list +auxValves1 = bits, U16, 1552, [0:7], $gpio_list +auxValves2 = bits, U16, 1554, [0:7], $gpio_list +tcuUpshiftButtonPin = bits, U16, 1556, [0:7], $switch_input_pin_e_list +tcuDownshiftButtonPin = bits, U16, 1558, [0:7], $switch_input_pin_e_list +throttlePedalUpVoltage = scalar, F32, 1560, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1564, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1568, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1570, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1572, "Volts", 1, 0, 0, 30, 1 +mc33810DisableRecoveryMode = bits, U32, 1576, [0:0], "false", "true" +mc33810Gpgd0Mode = bits, U32, 1576, [1:1], "false", "true" +mc33810Gpgd1Mode = bits, U32, 1576, [2:2], "false", "true" +mc33810Gpgd2Mode = bits, U32, 1576, [3:3], "false", "true" +mc33810Gpgd3Mode = bits, U32, 1576, [4:4], "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 +auxSerialRxPin = bits, U16, 1586, [0:7], $gpio_list +accelerometerCsPin = bits, U16, 1588, [0:7], $gpio_list +tpsAccelLookback = scalar, U08, 1590, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1591, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1592, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1593, "sec", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1596, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1600, [0:7], $brain_input_pin_e_list +auxSpeedSensorInputPin2 = bits, U16, 1602, [0:7], $brain_input_pin_e_list +totalGearsCount = scalar, U08, 1604, "", 1, 0, 1, 10, 0 +injectionTimingMode = bits, U08, 1605, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1606, [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, 1607, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1608, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1612, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1616, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1620, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1624, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1628, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1632, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1633, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1634, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1635, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1636, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1637, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1638, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1639, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1640, [0:0], "false", "true" +canOpenBLT = bits, U32, 1640, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1640, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1640, [3:3], "volumetric flow", "mass flow" +boardUseCanTerminator = bits, U32, 1640, [4:4], "false", "true" +kLineDoHondaSend = bits, U32, 1640, [5:5], "false", "true" +can1ListenMode = bits, U32, 1640, [6:6], "false", "true" +can2ListenMode = bits, U32, 1640, [7:7], "false", "true" +camDecoder2jzPosition = scalar, U08, 1644, "", 1, 0, 0, 100, 0 +mc33810maxDwellTimer = bits, U08, 1645, [0:2], "2 mS", "4 mS", "8 mS", "16 mS", "32 mS", "64 mS" +benchTestOnTime = scalar, U16, 1646, "ms", 0.01, 0, 0, 500, 2 +lambdaProtectionRestoreTps = scalar, U08, 1648, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1649, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1650, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1652, [0:7], $gpio_list +can2RxPin = bits, U16, 1654, [0:7], $gpio_list +starterControlPinMode = bits, U08, 1656, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1657, [0:5], $adc_channel_e_list +ignOverrideMode = bits, U08, 1658, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1659, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1660, [0:8], $output_pin_e_list +hpfpValvePinMode = bits, U08, 1662, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostCutPressure = scalar, F32, 1664, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1668, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1684, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1700, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1704, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1708, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1712, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1716, [0:8], $output_pin_e_list +vvtPins2 = bits, U16, 1718, [0:8], $output_pin_e_list +vvtPins3 = bits, U16, 1720, [0:8], $output_pin_e_list +vvtPins4 = bits, U16, 1722, [0:8], $output_pin_e_list +sdCardCsPinMode = bits, U08, 1724, [0:1], "default", "default inverted", "open collector", "open collector inverted" +crankingIACposition = scalar, S32, 1728, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1732, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1736, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1740, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1744, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1748, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1750, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1751, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1752, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1756, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +vvtMode2 = bits, U08, 1757, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72" +fan2ExtraIdle = scalar, U08, 1758, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1759, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1760, [0:5], $adc_channel_e_list +auxAnalogInputs2 = bits, U08, 1761, [0:5], $adc_channel_e_list +auxAnalogInputs3 = bits, U08, 1762, [0:5], $adc_channel_e_list +auxAnalogInputs4 = bits, U08, 1763, [0:5], $adc_channel_e_list +auxAnalogInputs5 = bits, U08, 1764, [0:5], $adc_channel_e_list +auxAnalogInputs6 = bits, U08, 1765, [0:5], $adc_channel_e_list +auxAnalogInputs7 = bits, U08, 1766, [0:5], $adc_channel_e_list +auxAnalogInputs8 = bits, U08, 1767, [0:5], $adc_channel_e_list +trailingCoilPins1 = bits, U16, 1768, [0:8], $output_pin_e_list +trailingCoilPins2 = bits, U16, 1770, [0:8], $output_pin_e_list +trailingCoilPins3 = bits, U16, 1772, [0:8], $output_pin_e_list +trailingCoilPins4 = bits, U16, 1774, [0:8], $output_pin_e_list +trailingCoilPins5 = bits, U16, 1776, [0:8], $output_pin_e_list +trailingCoilPins6 = bits, U16, 1778, [0:8], $output_pin_e_list +trailingCoilPins7 = bits, U16, 1780, [0:8], $output_pin_e_list +trailingCoilPins8 = bits, U16, 1782, [0:8], $output_pin_e_list +trailingCoilPins9 = bits, U16, 1784, [0:8], $output_pin_e_list +trailingCoilPins10 = bits, U16, 1786, [0:8], $output_pin_e_list +trailingCoilPins11 = bits, U16, 1788, [0:8], $output_pin_e_list +trailingCoilPins12 = bits, U16, 1790, [0:8], $output_pin_e_list +tle8888mode = bits, U08, 1792, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +accelerometerCsPinMode = bits, U08, 1793, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1794, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1795, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1796, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = array, F32, 1800, [6x6], "mult", 1, 0, 1, 3, 2 +postCrankingDurationBins = array, F32, 1944, [6], "count", 1, 0, 0, 1000, 0 +postCrankingCLTBins = array, F32, 1968, [6], "C", 1, 0, -100, 100, 0 +auxTempSensor1_tempC_1 = scalar, F32, 1992, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_2 = scalar, F32, 1996, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_tempC_3 = scalar, F32, 2000, "*C", 1, 0, -55, 200, 1 +auxTempSensor1_resistance_1 = scalar, F32, 2004, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_2 = scalar, F32, 2008, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_resistance_3 = scalar, F32, 2012, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor1_bias_resistor = scalar, F32, 2016, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 2020, [0:5], $adc_channel_e_list +auxTempSensor2_tempC_1 = scalar, F32, 2024, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_2 = scalar, F32, 2028, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_tempC_3 = scalar, F32, 2032, "*C", 1, 0, -55, 200, 1 +auxTempSensor2_resistance_1 = scalar, F32, 2036, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_2 = scalar, F32, 2040, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_resistance_3 = scalar, F32, 2044, "Ohm", 1, 0, 0, 1000000, 1 +auxTempSensor2_bias_resistor = scalar, F32, 2048, "Ohm", 1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 2052, [0:5], $adc_channel_e_list +knockSamplingDuration = scalar, S16, 2056, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 2058, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 2060, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 2064, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 2068, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 2072, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 2074, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 2076, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 2078, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 2080, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 2081, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 2082, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 2083, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 2084, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 2088, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 2092, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 2096, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 2100, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 2104, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 2108, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 2112, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 2116, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 2120, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 2124, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 2128, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 2132, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 2136, [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, 2137, [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, 2138, [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, 2139, [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, 2140, [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, 2141, [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, 2142, [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, 2143, [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, 2144, [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, 2145, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 2146, [0:7], $gpio_list +mc33816_driven = bits, U16, 2148, [0:7], $gpio_list +brakePedalPin = bits, U16, 2150, [0:7], $switch_input_pin_e_list +brakePedalPinMode = bits, U08, 2152, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 2156, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 2160, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 2164, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 2168, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 2170, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 2172, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 2174, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 2176, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 2180, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 2184, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 2188, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 2190, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 2192, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 2194, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 2196, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 2200, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 2204, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 2208, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 2212, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 2216, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 2220, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 2224, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 2228, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 2236, [0:5], $adc_channel_e_list +oilPressure_v1 = scalar, F32, 2240, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 2244, "", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 2248, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 2252, "", 1, 0, 0, 1000000, 2 +accelerometerSpiDevice = bits, U08, 2256, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +fan2Pin = bits, U16, 2258, [0:8], $output_pin_e_list +fan2OnTemperature = scalar, U08, 2260, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 2261, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 2262, [0:7], $gpio_list +tle8888_cs = bits, U16, 2264, [0:7], $gpio_list +tle8888_csPinMode = bits, U08, 2266, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_cs = bits, U16, 2268, [0:7], $gpio_list +auxFrequencyFilter = scalar, F32, 2272, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 2276, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 2278, [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" +launchFuelAdderPercent = scalar, S08, 2280, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 2281, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 2282, "", 1, 0, 0, 32000, 0 +etbDutyThreshold = scalar, F32, 2284, "", 1, 0, 0, 100, 0 +coastingFuelCutRpmHigh = scalar, S16, 2288, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 2290, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 2292, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 2294, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 2296, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 2298, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 2300, [0:5], $adc_channel_e_list +highPressureFuel_v1 = scalar, F32, 2304, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 2308, "", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 2312, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 2316, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 2320, [0:5], $adc_channel_e_list +lowPressureFuel_v1 = scalar, F32, 2324, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 2328, "", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 2332, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 2336, "", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 2340, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 2344, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 2352, 16 +scriptCurveName2 = string, ASCII, 2368, 16 +scriptCurveName3 = string, ASCII, 2384, 16 +scriptCurveName4 = string, ASCII, 2400, 16 +scriptCurveName5 = string, ASCII, 2416, 16 +scriptCurveName6 = string, ASCII, 2432, 16 +scriptTableName1 = string, ASCII, 2448, 16 +scriptTableName2 = string, ASCII, 2464, 16 +scriptTableName3 = string, ASCII, 2480, 16 +scriptTableName4 = string, ASCII, 2496, 16 +scriptSettingName1 = string, ASCII, 2512, 16 +scriptSettingName2 = string, ASCII, 2528, 16 +scriptSettingName3 = string, ASCII, 2544, 16 +scriptSettingName4 = string, ASCII, 2560, 16 +scriptSettingName5 = string, ASCII, 2576, 16 +scriptSettingName6 = string, ASCII, 2592, 16 +scriptSettingName7 = string, ASCII, 2608, 16 +scriptSettingName8 = string, ASCII, 2624, 16 +tChargeAirCoefMin = scalar, F32, 2640, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2644, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2648, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2652, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2656, "deg/sec", 1, 0, 0, 100, 1 +tChargeMode = bits, U08, 2660, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +hip9011Gain = scalar, F32, 2664, "", 1, 0, 0, 100, 2 +etb_iTermMin = scalar, S16, 2668, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2670, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2672, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2676, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2680, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2684, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2686, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2688, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2690, "", 1, 0, -30000, 30000, 0 +idleTimingSoftEntryTime = scalar, F32, 2692, "", 1, 0, 0, 100, 1 +etbRocExpAverageLength = scalar, S16, 2696, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2698, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2700, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2704, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2705, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2706, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2708, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2709, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2710, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2712, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2716, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2717, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2718, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2719, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2720, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2721, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2722, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2723, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2724, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2725, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2726, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2727, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2728, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2736, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2737, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2738, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2739, "RPM", 50.0, 0, 0, 12000, 0 +tractionControlSlipBins = array, U16, 2740, [6], "ratio", 0.01, 0, 0, 999, 2 +tractionControlSpeedBins = array, U08, 2752, [6], "RPM", 1, 0, 0, 250, 0 +disableFan1AtSpeed = scalar, S08, 2758, "", 1, 0, 0, 100, 0 +disableFan2AtSpeed = scalar, S08, 2759, "", 1, 0, 0, 100, 0 +canVssNbcType = bits, U08, 2760, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9" +gppwm1_pin = bits, U16, 2764, [0:8], $output_pin_e_list +gppwm1_dutyIfError = scalar, U08, 2766, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2768, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2770, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2771, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2773, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2774, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm1_rpmBins = array, S16, 2790, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2806, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2872, [0:8], $output_pin_e_list +gppwm2_dutyIfError = scalar, U08, 2874, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2876, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2878, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2879, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2880, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2881, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2882, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm2_rpmBins = array, S16, 2898, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2914, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2980, [0:8], $output_pin_e_list +gppwm3_dutyIfError = scalar, U08, 2982, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2984, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2986, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2987, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2989, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 2990, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm3_rpmBins = array, S16, 3006, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 3022, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 3088, [0:8], $output_pin_e_list +gppwm4_dutyIfError = scalar, U08, 3090, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 3092, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 3094, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 3095, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 3096, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3097, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 3098, [8], "load", 0.5, 0, -1000, 10000, 1 +gppwm4_rpmBins = array, S16, 3114, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 3130, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 3196, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 3198, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 3200, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 3202, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 3204, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 3206, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 3208, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 3210, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 3212, "us", 1, 0, 0, 10000, 0 +tcuUpshiftButtonPinMode = bits, U08, 3214, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 3215, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acSwitchMode = bits, U08, 3216, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_solenoid_mode1 = bits, U08, 3217, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 3218, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 3219, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 3220, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 3221, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 3222, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 3223, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 3240, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 3244, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 3248, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 3252, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 3256, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 3260, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 3264, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 3268, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 3272, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 3276, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 3280, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 3284, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 3288, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 3292, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 3296, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 3300, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 3304, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 3308, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 3312, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 3316, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 3320, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 3324, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 3328, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 3332, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 3336, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 3340, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 3344, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 3348, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 3352, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 3356, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 3360, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 3364, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 3368, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 3372, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 3376, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 3380, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 3384, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 3385, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 3386, "sec", 0.1, 0, 0, 10, 1 +fordInjectorSmallPulseBreakPoint = scalar, U16, 3388, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 3390, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 3394, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 3395, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 3396, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +auxiliarySetting1 = scalar, U08, 3397, "", 1, 0, 0, 100, 0 +hpfpMinAngle = scalar, U08, 3398, "deg", 1, 0, 0, 255, 0 +hpfpPumpVolume = scalar, U16, 3400, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 3402, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 3403, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 3404, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 3406, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 3408, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 3410, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 3426, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3442, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3450, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3466, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3666, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3686, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3696, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3796, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3816, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3826, [0:8], $output_pin_e_list +stepper_raw_output2 = bits, U16, 3828, [0:8], $output_pin_e_list +stepper_raw_output3 = bits, U16, 3830, [0:8], $output_pin_e_list +stepper_raw_output4 = bits, U16, 3832, [0:8], $output_pin_e_list +gearRatio1 = scalar, U16, 3834, "ratio", 0.01, 0, 0, 30, 2 +gearRatio2 = scalar, U16, 3836, "ratio", 0.01, 0, 0, 30, 2 +gearRatio3 = scalar, U16, 3838, "ratio", 0.01, 0, 0, 30, 2 +gearRatio4 = scalar, U16, 3840, "ratio", 0.01, 0, 0, 30, 2 +gearRatio5 = scalar, U16, 3842, "ratio", 0.01, 0, 0, 30, 2 +gearRatio6 = scalar, U16, 3844, "ratio", 0.01, 0, 0, 30, 2 +gearRatio7 = scalar, U16, 3846, "ratio", 0.01, 0, 0, 30, 2 +gearRatio8 = scalar, U16, 3848, "ratio", 0.01, 0, 0, 30, 2 +gearRatio9 = scalar, U16, 3850, "ratio", 0.01, 0, 0, 30, 2 +gearRatio10 = scalar, U16, 3852, "ratio", 0.01, 0, 0, 30, 2 +vvtActivationDelayMs = scalar, U16, 3854, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3856, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3864, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3872, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3880, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3888, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3896, [8], "", 0.01, 0, 0, 2.5, 2 +torqueTable = array, U08, 3904, [6x6], "Nm", 10.0, 0, 0, 255, 0 +torqueRpmBins = array, U16, 3940, [6], "RPM", 1, 0, 0, 65000, 0 +torqueLoadBins = array, U16, 3952, [6], "Load", 1, 0, 0, 65000, 0 +gearControllerMode = bits, U08, 3964, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3965, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3966, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3968, [0:5], $adc_channel_e_list +auxLinear1_v1 = scalar, F32, 3972, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3976, "", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3980, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3984, "", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3988, [0:5], $adc_channel_e_list +auxLinear2_v1 = scalar, F32, 3992, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3996, "", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 4000, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 4004, "", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 4008, [0:8], $output_pin_e_list +tcu_tcc_onoff_solenoid_mode = bits, U08, 4010, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 4012, [0:8], $output_pin_e_list +tcu_tcc_pwm_solenoid_mode = bits, U08, 4014, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 4016, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 4018, [0:8], $output_pin_e_list +tcu_pc_solenoid_pin_mode = bits, U08, 4020, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 4022, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 4024, [0:8], $output_pin_e_list +tcu_32_solenoid_pin_mode = bits, U08, 4026, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_freq = scalar, U16, 4028, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 4030, [0:8], $output_pin_e_list +etbMinimumPosition = scalar, F32, 4032, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 4036, "", 1, 0, 0, 20000, 0 +vinNumber = string, ASCII, 4038, 17 +highSpeedOffsets = array, U16, 4056, [32], "", 1, 0.00000,0.00,65535, 0, noMsqSave +etbDutyShutdownThreshold = scalar, F32, 4120, "", 1, 0, 0, 100, 0 +fuelPressureSensorMode = bits, U08, 4124, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 4126, [0:7], $switch_input_pin_e_list +luaDigitalInputPins2 = bits, U16, 4128, [0:7], $switch_input_pin_e_list +luaDigitalInputPins3 = bits, U16, 4130, [0:7], $switch_input_pin_e_list +luaDigitalInputPins4 = bits, U16, 4132, [0:7], $switch_input_pin_e_list +luaDigitalInputPins5 = bits, U16, 4134, [0:7], $switch_input_pin_e_list +luaDigitalInputPins6 = bits, U16, 4136, [0:7], $switch_input_pin_e_list +luaDigitalInputPins7 = bits, U16, 4138, [0:7], $switch_input_pin_e_list +luaDigitalInputPins8 = bits, U16, 4140, [0:7], $switch_input_pin_e_list +tpsTspCorrValuesBins = array, U08, 4142, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 4146, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 4148, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 4150, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 4152, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 4153, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 4154, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 4155, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 4156, "%", 1, 0, 0, 100, 0 +sentEtbType = bits, S08, 4157, [0:1], "None", "GM type 1", "Ford type 1", "Custom" +customSentTpsMin = scalar, U16, 4158, "", 1, 0, 0, 32000, 0 +ALSIdleAdd = scalar, S32, 4160, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 4164, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, F32, 4168, "", 1, 0, 0, 1, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 4172, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 4173, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 4174, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 4175, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 4176, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 4177, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 4178, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 4179, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 4180, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 4181, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 4182, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 4183, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +customSentTpsMax = scalar, U16, 4184, "", 1, 0, 0, 32000, 0 +kLineBaudRate = scalar, U16, 4186, "", 1, 0, 0, 32000, 0 +canGpioType = bits, S08, 4188, [0:1], "None", "DRT protocol", "MS protocol" +uiMode = bits, S08, 4189, [0:1], "Full", "Installation", "Tuning" +hpfpPeakPos = scalar, S16, 4190, "deg", 1, 0, -719, 719, 0 +kLinePeriodUs = scalar, S16, 4192, "us", 1, 0, 0, 30000, 0 +rpmSoftLimitWindowSize = scalar, U08, 4194, "RPM", 10.0, 0, 0, 2500, 0 +rpmSoftLimitTimingRetard = scalar, U08, 4195, "deg", 0.2, 0, 0, 50, 1 +rpmSoftLimitFuelAdded = scalar, U08, 4196, "%", 0.2, 0, 0, 50, 1 +rpmHardLimitHyst = scalar, U08, 4197, "RPM", 10.0, 0, 0, 2500, 0 +benchTestOffTime = scalar, U16, 4198, "ms", 0.1, 0, 0, 2000, 1 +boostCutPressureHyst = scalar, U08, 4200, "kPa (absolute)", 0.5, 0, 0, 125, 1 +gearBasedOpenLoopBoostAdder = array, U08, 4201, [10], "%", 0.5, 0, 0, 100, 1 +benchTestCount = scalar, U32, 4212, "", 1, 0, 0, 10000000, 0 +iacByTpsHoldTime = scalar, U08, 4216, "seconds", 0.1, 0, 0, 25, 1 +iacByTpsDecayTime = scalar, U08, 4217, "seconds", 0.1, 0, 0, 25, 1 +tcu_rangeInput1 = bits, U16, 4218, [0:7], $switch_input_pin_e_list +tcu_rangeInput2 = bits, U16, 4220, [0:7], $switch_input_pin_e_list +tcu_rangeInput3 = bits, U16, 4222, [0:7], $switch_input_pin_e_list +tcu_rangeInput4 = bits, U16, 4224, [0:7], $switch_input_pin_e_list +tcu_rangeInput5 = bits, U16, 4226, [0:7], $switch_input_pin_e_list +tcu_rangeInput6 = bits, U16, 4228, [0:7], $switch_input_pin_e_list +tcu_rangeInputMode1 = bits, U08, 4230, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode2 = bits, U08, 4231, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode3 = bits, U08, 4232, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode4 = bits, U08, 4233, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode5 = bits, U08, 4234, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcu_rangeInputMode6 = bits, U08, 4235, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +canVssScaling = scalar, U16, 4236, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, F32, 4240, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_2 = scalar, F32, 4244, "*C", 1, 0, -55, 200, 1 +oilTempSensor_tempC_3 = scalar, F32, 4248, "*C", 1, 0, -55, 200, 1 +oilTempSensor_resistance_1 = scalar, F32, 4252, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_2 = scalar, F32, 4256, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_resistance_3 = scalar, F32, 4260, "Ohm", 1, 0, 0, 1000000, 1 +oilTempSensor_bias_resistor = scalar, F32, 4264, "Ohm", 1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 4268, [0:5], $adc_channel_e_list +fuelTempSensor_tempC_1 = scalar, F32, 4272, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_2 = scalar, F32, 4276, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_tempC_3 = scalar, F32, 4280, "*C", 1, 0, -55, 200, 1 +fuelTempSensor_resistance_1 = scalar, F32, 4284, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_2 = scalar, F32, 4288, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_resistance_3 = scalar, F32, 4292, "Ohm", 1, 0, 0, 1000000, 1 +fuelTempSensor_bias_resistor = scalar, F32, 4296, "Ohm", 1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 4300, [0:5], $adc_channel_e_list +ambientTempSensor_tempC_1 = scalar, F32, 4304, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_2 = scalar, F32, 4308, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_tempC_3 = scalar, F32, 4312, "*C", 1, 0, -55, 200, 1 +ambientTempSensor_resistance_1 = scalar, F32, 4316, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_2 = scalar, F32, 4320, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_resistance_3 = scalar, F32, 4324, "Ohm", 1, 0, 0, 1000000, 1 +ambientTempSensor_bias_resistor = scalar, F32, 4328, "Ohm", 1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 4332, [0:5], $adc_channel_e_list +compressorDischargeTemperature_tempC_1 = scalar, F32, 4336, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, F32, 4340, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, F32, 4344, "*C", 1, 0, -55, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, F32, 4348, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_2 = scalar, F32, 4352, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_resistance_3 = scalar, F32, 4356, "Ohm", 1, 0, 0, 1000000, 1 +compressorDischargeTemperature_bias_resistor = scalar, F32, 4360, "Ohm", 1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 4364, [0:5], $adc_channel_e_list +throttleInletPressureChannel = bits, U08, 4368, [0:5], $adc_channel_e_list +compressorDischargePressureChannel = bits, U08, 4369, [0:5], $adc_channel_e_list +dacOutputPins1 = bits, U16, 4370, [0:7], $gpio_list +dacOutputPins2 = bits, U16, 4372, [0:7], $gpio_list +speedometerOutputPin = bits, U16, 4374, [0:8], $output_pin_e_list +speedometerPulsePerKm = scalar, U16, 4376, "", 1, 0, 0, 65000, 0 +simulatorCamPosition1 = scalar, U08, 4378, "", 1, 0, 0, 100, 0 +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 +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 +triggerVVTGapOverrideFrom4 = scalar, F32, 4396, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo1 = scalar, F32, 4400, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo2 = scalar, F32, 4404, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo3 = scalar, F32, 4408, "ratio", 1, 0, 0, 20, 3 +triggerVVTGapOverrideTo4 = scalar, F32, 4412, "ratio", 1, 0, 0, 20, 3 +tractionControlEtbDrop = array, S08, 4416, [6x6], "%", 1, 0, -100, 0, 0 +maxInjectorDutyInstant = scalar, U08, 4452, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 4453, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 4454, "sec", 0.1, 0, 0, 5, 1 +injectionPinsStage21 = bits, U16, 4456, [0:8], $output_pin_e_list +injectionPinsStage22 = bits, U16, 4458, [0:8], $output_pin_e_list +injectionPinsStage23 = bits, U16, 4460, [0:8], $output_pin_e_list +injectionPinsStage24 = bits, U16, 4462, [0:8], $output_pin_e_list +injectionPinsStage25 = bits, U16, 4464, [0:8], $output_pin_e_list +injectionPinsStage26 = bits, U16, 4466, [0:8], $output_pin_e_list +injectionPinsStage27 = bits, U16, 4468, [0:8], $output_pin_e_list +injectionPinsStage28 = bits, U16, 4470, [0:8], $output_pin_e_list +injectionPinsStage29 = bits, U16, 4472, [0:8], $output_pin_e_list +injectionPinsStage210 = bits, U16, 4474, [0:8], $output_pin_e_list +injectionPinsStage211 = bits, U16, 4476, [0:8], $output_pin_e_list +injectionPinsStage212 = bits, U16, 4478, [0:8], $output_pin_e_list +mainUnusedEnd = array, U08, 4480, [168], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 4648, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4680, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4712, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4776, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4784, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4792, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4808, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4824, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4840, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4856, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4888, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4920, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4984, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 5048, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 5112, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 5176, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 5208, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 5240, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 5272, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 5304, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 5336, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 5368, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 5400, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 5432, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 5448, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 5464, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 5528, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 5560, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 5592, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 5600, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 5608, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 5624, [16], "%", 0.5, 0, 0, 100, 1 +warning_message = string, ASCII, 5640, 120 +afterstartCoolantBins = array, F32, 5760, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5792, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5824, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5856, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5888, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5952, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5960, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 6024, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 6032, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 6096, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 6104, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 6112, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 6144, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 6176, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 6184, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 6216, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 6220, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 6224, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 6256, 8000 +cltFuelCorrBins = array, F32, 14256, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 14320, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 14384, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 14448, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 14512, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 14544, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 14576, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 14608, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 14640, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 14704, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 14768, [32], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 14896, [32], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 15024, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 15088, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 15096, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 15104, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 15616, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 15648, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 15680, [10x6], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 15740, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 16252, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 16284, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 16316, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 16380, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 16396, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 16412, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 16476, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 16492, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 16508, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 17020, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 17052, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 17084, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 17596, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 17628, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 17592, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 17660, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 17592, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 17660, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 17848, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 17880, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 17912, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 18168, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 18200, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 18232, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 18488, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 18504, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 18520, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 18584, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 18600, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 18616, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 18680, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 18696, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 18712, [10x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 18792, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 18808, [10], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 18828, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 18836, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 18844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 18860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 18876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 18892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 18908, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 18924, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 18940, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 18956, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 18972, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 18988, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19004, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19036, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19044, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 19116, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 19132, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 19148, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 19164, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 19180, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 19196, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 19212, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 19228, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 19244, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 19260, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 19268, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 19276, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 19284, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 19292, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 19300, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 19308, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 19316, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 19324, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 19332, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 19340, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 19348, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 19356, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 19364, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 19372, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 19380, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 19388, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 19396, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 19404, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 19440, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 19446, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 19452, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 19488, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 19494, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 19500, [4x4], "deg", 0.1, 0, -60, 0, 1 -alsIgnRetardLoadBins = array, U16, 19532, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 19540, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 19548, [4x4], "percent", 0.1, 0, 0, 50, 1 -alsFuelAdjustmentLoadBins = array, U16, 19580, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 19588, [4], "RPM", 1, 0, 0, 25000, 0 -ALSIgnSkipTable = array, S16, 19596, [4x4], "ratio", 10.0, 0, 0, 50, 1 -alsIgnSkipLoadBins = array, U16, 19628, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnSkiprpmBins = array, U16, 19636, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 19644, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 19772, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 19788, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 19804, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19806, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 19822, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 19832, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 19960, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 19976, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 19992, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19994, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20010, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20020, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20148, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 20164, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 20180, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20182, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 20198, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 20208, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 20336, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 20352, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 20368, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20370, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 20386, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 20396, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 20524, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 20540, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 20556, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20558, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 20574, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 20584, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 20712, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 20728, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 20744, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20746, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 20762, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 20772, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 20900, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 20916, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 20932, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20934, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 20950, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 20960, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21088, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21104, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21120, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21122, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21138, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21148, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 21172, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 21196, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 21324, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 21340, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 21356, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21358, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 21374, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 21384, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 21512, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 21528, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 21544, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21546, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 21562, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 21572, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 21700, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 21716, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 21732, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21734, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 21750, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 21760, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 21888, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 21904, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 21920, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21922, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 21938, [8], "%", 0.5, 0, 0, 100, 1 -tcu_rangeP = array, U08, 21948, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeR = array, U08, 21954, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeN = array, U08, 21960, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeD = array, U08, 21966, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM = array, U08, 21972, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM3 = array, U08, 21978, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM2 = array, U08, 21984, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeM1 = array, U08, 21990, [6], "level", 1, 0, 0, 3, 0 -tcu_rangePlus = array, U08, 21996, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeMinus = array, U08, 22002, [6], "level", 1, 0, 0, 3, 0 -tcu_rangeLow = array, U08, 22008, [6], "level", 1, 0, 0, 3, 0 -lambdaMaxDeviationTable = array, U08, 22014, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22030, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22038, [4], "RPM", 1, 0, 0, 18000, 0 -injectorStagingTable = array, U08, 22046, [6x6], "%", 1, 0, 0, 90, 0 -injectorStagingLoadBins = array, U16, 22082, [6], "", 1, 0, 0, 1000, 0 -injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22108 +lambdaLoadBins = array, U16, 17916, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 17948, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 17980, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 18236, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 18268, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 18300, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 18556, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 18572, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 18588, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 18652, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 18668, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 18684, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 18748, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 18764, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 18780, [10x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 18860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 18876, [10], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 18896, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 18904, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 18912, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 18928, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 18944, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 18960, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 18976, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 18992, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 19008, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 19024, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 19040, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 19056, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 19072, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 19088, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 19104, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 19112, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 19120, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 19136, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 19152, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 19168, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 19184, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 19200, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 19216, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 19232, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 19248, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 19264, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 19280, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 19296, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 19312, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 19328, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 19336, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 19344, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 19352, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 19360, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 19368, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 19376, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 19384, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 19392, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 19400, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 19408, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 19416, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 19424, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 19432, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 19440, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 19448, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 19456, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 19464, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 19472, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 19508, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 19514, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 19520, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 19556, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 19562, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 19568, [4x4], "deg", 0.1, 0, -60, 0, 1 +alsIgnRetardLoadBins = array, U16, 19600, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 19608, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 19616, [4x4], "percent", 0.1, 0, 0, 50, 1 +alsFuelAdjustmentLoadBins = array, U16, 19648, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 19656, [4], "RPM", 1, 0, 0, 25000, 0 +ALSIgnSkipTable = array, S16, 19664, [4x4], "ratio", 10.0, 0, 0, 50, 1 +alsIgnSkipLoadBins = array, U16, 19696, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnSkiprpmBins = array, U16, 19704, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 19712, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 19840, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 19856, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 19872, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 19874, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 19890, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 19900, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20028, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20044, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 20060, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20062, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 20078, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 20088, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 20216, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 20232, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 20248, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20250, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 20266, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 20276, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 20404, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 20420, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 20436, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20438, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 20454, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 20464, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 20592, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 20608, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 20624, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20626, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 20642, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 20652, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 20780, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 20796, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 20812, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 20814, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 20830, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 20840, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 20968, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 20984, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21000, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21002, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21018, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21028, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 21156, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 21172, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 21188, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21190, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 21206, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 21216, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 21240, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 21264, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 21392, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 21408, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 21424, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21426, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 21442, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 21452, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 21580, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 21596, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 21612, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21614, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 21630, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 21640, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 21768, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 21784, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 21800, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21802, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 21818, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 21828, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 21956, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 21972, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 21988, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "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, 21990, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22006, [8], "%", 0.5, 0, 0, 100, 1 +tcu_rangeP = array, U08, 22016, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeR = array, U08, 22022, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeN = array, U08, 22028, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeD = array, U08, 22034, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM = array, U08, 22040, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM3 = array, U08, 22046, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM2 = array, U08, 22052, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeM1 = array, U08, 22058, [6], "level", 1, 0, 0, 3, 0 +tcu_rangePlus = array, U08, 22064, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeMinus = array, U08, 22070, [6], "level", 1, 0, 0, 3, 0 +tcu_rangeLow = array, U08, 22076, [6], "level", 1, 0, 0, 3, 0 +lambdaMaxDeviationTable = array, U08, 22082, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22098, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22106, [4], "RPM", 1, 0, 0, 18000, 0 +injectorStagingTable = array, U08, 22114, [6x6], "%", 1, 0, 0, 90, 0 +injectorStagingLoadBins = array, U16, 22150, [6], "", 1, 0, 0, 1000, 0 +injectorStagingRpmBins = array, U16, 22162, [6], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22176 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1603,6 +1606,8 @@ injectorStagingRpmBins = array, U16, 22094, [6], "RPM", 1, 0, 0, 18000, 0 multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" 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" + injectorSecondary_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" + injectorSecondary_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." @@ -3455,6 +3460,14 @@ lambdaTimeSinceGood = scalar, U16, 1452, "sec", 0.01, 0 yBins = injector_battLagCorr gauge = VBattGauge + curve = injectorsSecondaryDeadTime, "Secondary injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injectorSecondary_battLagCorrBins, VBatt + yBins = injectorSecondary_battLagCorr + gauge = VBattGauge + curve = vrThresholdCurve1, "VR 1 Threshold" columnLabel = "RPM", "Voltage" xAxis = 0, 8000, 9 @@ -5525,7 +5538,10 @@ menuDialog = main subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1} subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled} + subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection} + subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection} groupMenu = "Cylinder fuel trims" groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" @@ -6815,7 +6831,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = baseInjection panel = injChars panel = fuelParams - panel = injectorsDeadTime + panel = injectorsDeadTime, {isInjectionEnabled} dialog = ignitionCylExtra, "Cylinder offsets" field = "Offset angle for each cylinder if you have an odd fire" @@ -6834,9 +6850,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} - dialog = stagedInjectionLeft, "", yAxis - field = "Enable", enableStagedInjection, {isInjectionEnabled} - field = "" + dialog = stagedInjectionOutputs, "", yAxis field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection} field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1} field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 2} @@ -6850,9 +6864,12 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10} field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11} - dialog = stagedInjection, "", xAxis - panel = stagedInjectionLeft - panel = stagedInjectionTbl, {isInjectionEnabled && enableStagedInjection} + dialog = stagedInjection, "", yAxis + field = "Enable", enableStagedInjection, {isInjectionEnabled} + field = "" + field = "Secondary injector flow", injectorSecondary_flow {isInjectionEnabled && enableStagedInjection} + field = "" + panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection} dialog = multisparkDwellParams, "Delay & Dwell" field = "Spark duration", multisparkSparkDuration, {multisparkEnable} 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 353efa742e..62625ee9d6 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 04:20:03 UTC 2024 +// this file was generated automatically by rusEFI tool config_definition.jar based on (unknown script) integration/rusefi_config.txt Wed Jan 17 14:06:57 UTC 2024 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -292,7 +292,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 = 4580; + public static final int engine_configuration_s_size = 4648; 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; @@ -421,7 +421,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 = 230721; + public static final int FLASH_DATA_VERSION = 20014; 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; @@ -1028,7 +1028,7 @@ public class Fields { public static final int PACK_MULT_VOLTAGE = 1000; public static final int PACK_MULT_VSS = 100; public static final int PEDAL_TO_TPS_SIZE = 8; - public static final int persistent_config_s_size = 22108; + public static final int persistent_config_s_size = 22176; public static final int pid_s_size = 20; public static final int pin_input_mode_e_PI_DEFAULT = 0; public static final int pin_input_mode_e_PI_PULLDOWN = 2; @@ -1094,7 +1094,6 @@ public class Fields { public static final int SentEtbType_FORD_TYPE_1 = 2; public static final int SentEtbType_GM_TYPE_1 = 1; public static final int SentEtbType_NONE = 0; - public static final int SIGNATURE_HASH = 1562927191; public static final String SIMULATOR_TUNE_BIN_FILE_NAME = "generated/simulator_tune_image.bin"; public static final String SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX = "generated/simulator_tune_image"; public static final String SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX = ".bin"; @@ -1135,7 +1134,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 = 22108; + public static final int TOTAL_CONFIG_SIZE = 22176; 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; @@ -1335,7 +1334,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 master.2024.01.17.f407-discovery.1562927191"; + public static final String TS_SIGNATURE = "rusEFI master.2024.01.17.f407-discovery.3431326988"; public static final char TS_SIMULATE_CAN = '>'; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final char TS_TEST_COMMAND = 't'; @@ -1419,1612 +1418,1615 @@ public class Fields { public static final Field INJECTOR_FLOW = Field.create("INJECTOR_FLOW", 52, FieldType.FLOAT).setBaseOffset(0); public static final Field INJECTOR_BATTLAGCORRBINS = Field.create("INJECTOR_BATTLAGCORRBINS", 56, FieldType.FLOAT).setBaseOffset(0); public static final Field INJECTOR_BATTLAGCORR = Field.create("INJECTOR_BATTLAGCORR", 88, FieldType.FLOAT).setBaseOffset(0); - public static final Field ISFORCEDINDUCTION = Field.create("ISFORCEDINDUCTION", 120, FieldType.BIT, 0).setBaseOffset(0); - public static final Field USEFORDREDUNDANTTPS = Field.create("USEFORDREDUNDANTTPS", 120, FieldType.BIT, 1).setBaseOffset(0); - public static final Field ENABLEKLINE = Field.create("ENABLEKLINE", 120, FieldType.BIT, 2).setBaseOffset(0); - public static final Field OVERRIDETRIGGERGAPS = Field.create("OVERRIDETRIGGERGAPS", 120, FieldType.BIT, 3).setBaseOffset(0); - public static final Field ENABLEFAN1WITHAC = Field.create("ENABLEFAN1WITHAC", 120, FieldType.BIT, 4).setBaseOffset(0); - public static final Field ENABLEFAN2WITHAC = Field.create("ENABLEFAN2WITHAC", 120, FieldType.BIT, 5).setBaseOffset(0); - public static final Field DISABLEFAN1WHENSTOPPED = Field.create("DISABLEFAN1WHENSTOPPED", 120, FieldType.BIT, 6).setBaseOffset(0); - public static final Field DISABLEFAN2WHENSTOPPED = Field.create("DISABLEFAN2WHENSTOPPED", 120, FieldType.BIT, 7).setBaseOffset(0); - public static final Field ENABLETRAILINGSPARKS = Field.create("ENABLETRAILINGSPARKS", 120, FieldType.BIT, 8).setBaseOffset(0); - public static final Field ETB_USE_TWO_WIRES = Field.create("ETB_USE_TWO_WIRES", 120, FieldType.BIT, 9).setBaseOffset(0); - public static final Field ISDOUBLESOLENOIDIDLE = Field.create("ISDOUBLESOLENOIDIDLE", 120, FieldType.BIT, 10).setBaseOffset(0); - public static final Field USEEEPROM = Field.create("USEEEPROM", 120, FieldType.BIT, 11).setBaseOffset(0); - public static final Field USECICPIDFORIDLE = Field.create("USECICPIDFORIDLE", 120, FieldType.BIT, 12).setBaseOffset(0); - public static final Field USETLE8888_CRANKING_HACK = Field.create("USETLE8888_CRANKING_HACK", 120, FieldType.BIT, 13).setBaseOffset(0); - public static final Field KICKSTARTCRANKING = Field.create("KICKSTARTCRANKING", 120, FieldType.BIT, 14).setBaseOffset(0); - public static final Field USESEPARATEIDLETABLESFORCRANKINGTAPER = Field.create("USESEPARATEIDLETABLESFORCRANKINGTAPER", 120, FieldType.BIT, 15).setBaseOffset(0); - public static final Field LAUNCHCONTROLENABLED = Field.create("LAUNCHCONTROLENABLED", 120, FieldType.BIT, 16).setBaseOffset(0); - public static final Field DONOTFILTERTRIGGEREDGENOISE = Field.create("DONOTFILTERTRIGGEREDGENOISE", 120, FieldType.BIT, 17).setBaseOffset(0); - public static final Field ANTILAGENABLED = Field.create("ANTILAGENABLED", 120, FieldType.BIT, 18).setBaseOffset(0); - public static final Field USERUNNINGMATHFORCRANKING = Field.create("USERUNNINGMATHFORCRANKING", 120, FieldType.BIT, 19).setBaseOffset(0); - public static final Field DISPLAYLOGICLEVELSINENGINESNIFFER = Field.create("DISPLAYLOGICLEVELSINENGINESNIFFER", 120, FieldType.BIT, 20).setBaseOffset(0); - public static final Field USETLE8888_STEPPER = Field.create("USETLE8888_STEPPER", 120, FieldType.BIT, 21).setBaseOffset(0); - public static final Field USESCRIPTTABLEFORCANSNIFFINGFILTERING = Field.create("USESCRIPTTABLEFORCANSNIFFINGFILTERING", 120, FieldType.BIT, 22).setBaseOffset(0); - public static final Field VERBOSECAN = Field.create("VERBOSECAN", 120, FieldType.BIT, 23).setBaseOffset(0); - public static final Field ARTIFICIALTESTMISFIRE = Field.create("ARTIFICIALTESTMISFIRE", 120, FieldType.BIT, 24).setBaseOffset(0); - public static final Field USEFORDREDUNDANTPPS = Field.create("USEFORDREDUNDANTPPS", 120, FieldType.BIT, 25).setBaseOffset(0); - public static final Field CLTSENSORPULLDOWN = Field.create("CLTSENSORPULLDOWN", 120, FieldType.BIT, 26).setBaseOffset(0); - public static final Field IATSENSORPULLDOWN = Field.create("IATSENSORPULLDOWN", 120, FieldType.BIT, 27).setBaseOffset(0); - public static final Field ALLOWIDENTICALPPS = Field.create("ALLOWIDENTICALPPS", 120, FieldType.BIT, 28).setBaseOffset(0); - public static final Field OVERRIDEVVTTRIGGERGAPS = Field.create("OVERRIDEVVTTRIGGERGAPS", 120, FieldType.BIT, 29).setBaseOffset(0); - public static final Field USESPIIMU = Field.create("USESPIIMU", 120, FieldType.BIT, 30).setBaseOffset(0); - public static final Field ENABLESTAGEDINJECTION = Field.create("ENABLESTAGEDINJECTION", 120, FieldType.BIT, 31).setBaseOffset(0); - public static final Field TPSMIN = Field.create("TPSMIN", 124, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSMAX = Field.create("TPSMAX", 126, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSERRORDETECTIONTOOLOW = Field.create("TPSERRORDETECTIONTOOLOW", 128, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSERRORDETECTIONTOOHIGH = Field.create("TPSERRORDETECTIONTOOHIGH", 130, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CRANKING_BASEFUEL = Field.create("CRANKING_BASEFUEL", 132, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKING_RPM = Field.create("CRANKING_RPM", 136, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CRANKING_ALIGNMENTFILL_AT_6 = Field.create("CRANKING_ALIGNMENTFILL_AT_6", 138, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONDWELLFORCRANKINGMS = Field.create("IGNITIONDWELLFORCRANKINGMS", 140, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBREVLIMITSTART = Field.create("ETBREVLIMITSTART", 144, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBREVLIMITRANGE = Field.create("ETBREVLIMITRANGE", 146, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MAP_SAMPLINGANGLEBINS = Field.create("MAP_SAMPLINGANGLEBINS", 148, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAP_SAMPLINGANGLE = Field.create("MAP_SAMPLINGANGLE", 180, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAP_SAMPLINGWINDOWBINS = Field.create("MAP_SAMPLINGWINDOWBINS", 212, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAP_SAMPLINGWINDOW = Field.create("MAP_SAMPLINGWINDOW", 244, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAP_SENSOR_LOWVALUE = Field.create("MAP_SENSOR_LOWVALUE", 276, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAP_SENSOR_HIGHVALUE = Field.create("MAP_SENSOR_HIGHVALUE", 280, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAP_SENSOR_TYPE = Field.create("MAP_SENSOR_TYPE", 284, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORSECONDARY_FLOW = Field.create("INJECTORSECONDARY_FLOW", 120, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORSECONDARY_BATTLAGCORRBINS = Field.create("INJECTORSECONDARY_BATTLAGCORRBINS", 124, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORSECONDARY_BATTLAGCORR = Field.create("INJECTORSECONDARY_BATTLAGCORR", 156, FieldType.FLOAT).setBaseOffset(0); + public static final Field ISFORCEDINDUCTION = Field.create("ISFORCEDINDUCTION", 188, FieldType.BIT, 0).setBaseOffset(0); + public static final Field USEFORDREDUNDANTTPS = Field.create("USEFORDREDUNDANTTPS", 188, FieldType.BIT, 1).setBaseOffset(0); + public static final Field ENABLEKLINE = Field.create("ENABLEKLINE", 188, FieldType.BIT, 2).setBaseOffset(0); + public static final Field OVERRIDETRIGGERGAPS = Field.create("OVERRIDETRIGGERGAPS", 188, FieldType.BIT, 3).setBaseOffset(0); + public static final Field ENABLEFAN1WITHAC = Field.create("ENABLEFAN1WITHAC", 188, FieldType.BIT, 4).setBaseOffset(0); + public static final Field ENABLEFAN2WITHAC = Field.create("ENABLEFAN2WITHAC", 188, FieldType.BIT, 5).setBaseOffset(0); + public static final Field DISABLEFAN1WHENSTOPPED = Field.create("DISABLEFAN1WHENSTOPPED", 188, FieldType.BIT, 6).setBaseOffset(0); + public static final Field DISABLEFAN2WHENSTOPPED = Field.create("DISABLEFAN2WHENSTOPPED", 188, FieldType.BIT, 7).setBaseOffset(0); + public static final Field ENABLETRAILINGSPARKS = Field.create("ENABLETRAILINGSPARKS", 188, FieldType.BIT, 8).setBaseOffset(0); + public static final Field ETB_USE_TWO_WIRES = Field.create("ETB_USE_TWO_WIRES", 188, FieldType.BIT, 9).setBaseOffset(0); + public static final Field ISDOUBLESOLENOIDIDLE = Field.create("ISDOUBLESOLENOIDIDLE", 188, FieldType.BIT, 10).setBaseOffset(0); + public static final Field USEEEPROM = Field.create("USEEEPROM", 188, FieldType.BIT, 11).setBaseOffset(0); + public static final Field USECICPIDFORIDLE = Field.create("USECICPIDFORIDLE", 188, FieldType.BIT, 12).setBaseOffset(0); + public static final Field USETLE8888_CRANKING_HACK = Field.create("USETLE8888_CRANKING_HACK", 188, FieldType.BIT, 13).setBaseOffset(0); + public static final Field KICKSTARTCRANKING = Field.create("KICKSTARTCRANKING", 188, FieldType.BIT, 14).setBaseOffset(0); + public static final Field USESEPARATEIDLETABLESFORCRANKINGTAPER = Field.create("USESEPARATEIDLETABLESFORCRANKINGTAPER", 188, FieldType.BIT, 15).setBaseOffset(0); + public static final Field LAUNCHCONTROLENABLED = Field.create("LAUNCHCONTROLENABLED", 188, FieldType.BIT, 16).setBaseOffset(0); + public static final Field DONOTFILTERTRIGGEREDGENOISE = Field.create("DONOTFILTERTRIGGEREDGENOISE", 188, FieldType.BIT, 17).setBaseOffset(0); + public static final Field ANTILAGENABLED = Field.create("ANTILAGENABLED", 188, FieldType.BIT, 18).setBaseOffset(0); + public static final Field USERUNNINGMATHFORCRANKING = Field.create("USERUNNINGMATHFORCRANKING", 188, FieldType.BIT, 19).setBaseOffset(0); + public static final Field DISPLAYLOGICLEVELSINENGINESNIFFER = Field.create("DISPLAYLOGICLEVELSINENGINESNIFFER", 188, FieldType.BIT, 20).setBaseOffset(0); + public static final Field USETLE8888_STEPPER = Field.create("USETLE8888_STEPPER", 188, FieldType.BIT, 21).setBaseOffset(0); + public static final Field USESCRIPTTABLEFORCANSNIFFINGFILTERING = Field.create("USESCRIPTTABLEFORCANSNIFFINGFILTERING", 188, FieldType.BIT, 22).setBaseOffset(0); + public static final Field VERBOSECAN = Field.create("VERBOSECAN", 188, FieldType.BIT, 23).setBaseOffset(0); + public static final Field ARTIFICIALTESTMISFIRE = Field.create("ARTIFICIALTESTMISFIRE", 188, FieldType.BIT, 24).setBaseOffset(0); + public static final Field USEFORDREDUNDANTPPS = Field.create("USEFORDREDUNDANTPPS", 188, FieldType.BIT, 25).setBaseOffset(0); + public static final Field CLTSENSORPULLDOWN = Field.create("CLTSENSORPULLDOWN", 188, FieldType.BIT, 26).setBaseOffset(0); + public static final Field IATSENSORPULLDOWN = Field.create("IATSENSORPULLDOWN", 188, FieldType.BIT, 27).setBaseOffset(0); + public static final Field ALLOWIDENTICALPPS = Field.create("ALLOWIDENTICALPPS", 188, FieldType.BIT, 28).setBaseOffset(0); + public static final Field OVERRIDEVVTTRIGGERGAPS = Field.create("OVERRIDEVVTTRIGGERGAPS", 188, FieldType.BIT, 29).setBaseOffset(0); + public static final Field USESPIIMU = Field.create("USESPIIMU", 188, FieldType.BIT, 30).setBaseOffset(0); + public static final Field ENABLESTAGEDINJECTION = Field.create("ENABLESTAGEDINJECTION", 188, FieldType.BIT, 31).setBaseOffset(0); + public static final Field TPSMIN = Field.create("TPSMIN", 192, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSMAX = Field.create("TPSMAX", 194, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSERRORDETECTIONTOOLOW = Field.create("TPSERRORDETECTIONTOOLOW", 196, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSERRORDETECTIONTOOHIGH = Field.create("TPSERRORDETECTIONTOOHIGH", 198, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CRANKING_BASEFUEL = Field.create("CRANKING_BASEFUEL", 200, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKING_RPM = Field.create("CRANKING_RPM", 204, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CRANKING_ALIGNMENTFILL_AT_6 = Field.create("CRANKING_ALIGNMENTFILL_AT_6", 206, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONDWELLFORCRANKINGMS = Field.create("IGNITIONDWELLFORCRANKINGMS", 208, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBREVLIMITSTART = Field.create("ETBREVLIMITSTART", 212, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBREVLIMITRANGE = Field.create("ETBREVLIMITRANGE", 214, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MAP_SAMPLINGANGLEBINS = Field.create("MAP_SAMPLINGANGLEBINS", 216, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAP_SAMPLINGANGLE = Field.create("MAP_SAMPLINGANGLE", 248, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAP_SAMPLINGWINDOWBINS = Field.create("MAP_SAMPLINGWINDOWBINS", 280, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAP_SAMPLINGWINDOW = Field.create("MAP_SAMPLINGWINDOW", 312, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAP_SENSOR_LOWVALUE = Field.create("MAP_SENSOR_LOWVALUE", 344, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAP_SENSOR_HIGHVALUE = Field.create("MAP_SENSOR_HIGHVALUE", 348, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAP_SENSOR_TYPE = Field.create("MAP_SENSOR_TYPE", 352, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] adc_channel_e = {"Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"}; - public static final Field MAP_SENSOR_HWCHANNEL = Field.create("MAP_SENSOR_HWCHANNEL", 285, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field MAP_SENSOR_ALIGNMENTFILL_AT_10 = Field.create("MAP_SENSOR_ALIGNMENTFILL_AT_10", 286, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CLT_TEMPC_1 = Field.create("CLT_TEMPC_1", 288, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_TEMPC_2 = Field.create("CLT_TEMPC_2", 292, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_TEMPC_3 = Field.create("CLT_TEMPC_3", 296, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_RESISTANCE_1 = Field.create("CLT_RESISTANCE_1", 300, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_RESISTANCE_2 = Field.create("CLT_RESISTANCE_2", 304, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_RESISTANCE_3 = Field.create("CLT_RESISTANCE_3", 308, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_BIAS_RESISTOR = Field.create("CLT_BIAS_RESISTOR", 312, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLT_ADCCHANNEL = Field.create("CLT_ADCCHANNEL", 316, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field CLT_ALIGNMENTFILL_AT_29 = Field.create("CLT_ALIGNMENTFILL_AT_29", 317, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IAT_TEMPC_1 = Field.create("IAT_TEMPC_1", 320, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_TEMPC_2 = Field.create("IAT_TEMPC_2", 324, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_TEMPC_3 = Field.create("IAT_TEMPC_3", 328, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_RESISTANCE_1 = Field.create("IAT_RESISTANCE_1", 332, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_RESISTANCE_2 = Field.create("IAT_RESISTANCE_2", 336, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_RESISTANCE_3 = Field.create("IAT_RESISTANCE_3", 340, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_BIAS_RESISTOR = Field.create("IAT_BIAS_RESISTOR", 344, FieldType.FLOAT).setBaseOffset(0); - public static final Field IAT_ADCCHANNEL = Field.create("IAT_ADCCHANNEL", 348, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IAT_ALIGNMENTFILL_AT_29 = Field.create("IAT_ALIGNMENTFILL_AT_29", 349, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHTIMINGRETARD = Field.create("LAUNCHTIMINGRETARD", 352, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field HIP9011PRESCALERANDSDO = Field.create("HIP9011PRESCALERANDSDO", 356, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field KNOCKBANDCUSTOM = Field.create("KNOCKBANDCUSTOM", 360, FieldType.FLOAT).setBaseOffset(0); - public static final Field DISPLACEMENT = Field.create("DISPLACEMENT", 364, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field TRIGGERSIMULATORRPM = Field.create("TRIGGERSIMULATORRPM", 366, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERSCOUNT = Field.create("CYLINDERSCOUNT", 368, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field FIRINGORDER = Field.create("FIRINGORDER", 372, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_373 = Field.create("ALIGNMENTFILL_AT_373", 373, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBORE = Field.create("CYLINDERBORE", 376, FieldType.FLOAT).setBaseOffset(0); - public static final String[] engine_load_mode_e = {"Speed Density", "MAF Air Charge", "Alpha-N", "Lua"}; - public static final Field FUELALGORITHM = Field.create("FUELALGORITHM", 380, FieldType.INT8, engine_load_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALSMAXTPS = Field.create("ALSMAXTPS", 381, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CRANKINGINJECTIONMODE = Field.create("CRANKINGINJECTIONMODE", 382, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONMODE = Field.create("INJECTIONMODE", 383, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCONTROLMINRPM = Field.create("BOOSTCONTROLMINRPM", 384, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCONTROLMINTPS = Field.create("BOOSTCONTROLMINTPS", 386, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCONTROLMINMAP = Field.create("BOOSTCONTROLMINMAP", 387, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CRANKINGTIMINGANGLE = Field.create("CRANKINGTIMINGANGLE", 388, FieldType.FLOAT).setBaseOffset(0); - public static final Field IGNITIONMODE = Field.create("IGNITIONMODE", 392, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GAPTRACKINGLENGTHOVERRIDE = Field.create("GAPTRACKINGLENGTHOVERRIDE", 393, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXIDLEVSS = Field.create("MAXIDLEVSS", 394, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_395 = Field.create("ALIGNMENTFILL_AT_395", 395, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MINOILPRESSUREAFTERSTART = Field.create("MINOILPRESSUREAFTERSTART", 396, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TIMINGMODE = Field.create("TIMINGMODE", 398, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_399 = Field.create("ALIGNMENTFILL_AT_399", 399, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FIXEDMODETIMING = Field.create("FIXEDMODETIMING", 400, FieldType.FLOAT).setBaseOffset(0); - public static final Field GLOBALTRIGGERANGLEOFFSET = Field.create("GLOBALTRIGGERANGLEOFFSET", 404, FieldType.FLOAT).setBaseOffset(0); - public static final Field ANALOGINPUTDIVIDERCOEFFICIENT = Field.create("ANALOGINPUTDIVIDERCOEFFICIENT", 408, FieldType.FLOAT).setBaseOffset(0); - public static final Field VBATTDIVIDERCOEFF = Field.create("VBATTDIVIDERCOEFF", 412, FieldType.FLOAT).setBaseOffset(0); - public static final Field FANONTEMPERATURE = Field.create("FANONTEMPERATURE", 416, FieldType.FLOAT).setBaseOffset(0); - public static final Field FANOFFTEMPERATURE = Field.create("FANOFFTEMPERATURE", 420, FieldType.FLOAT).setBaseOffset(0); - public static final String[] output_pin_e = {"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", "L215", "L216", "L217", "L218", "L219", "L220", "L221", "L222", "L223", "L224", "L225", "L226", "L227", "L228", "L229", "L230", "L231", "L232", "L233", "L234", "L235", "L236", "L237", "L238", "L239", "L240", "L241", "L242", "L243", "L244", "L245", "L246", "L247", "L248", "can0", "can1", "can2", "can3", "can4", "can5", "can6", "can7", "protected_0", "protected_1", "protected_2", "protected_3", "protected_4", "protected_5", "protected_6", "protected_7", "protected_8", "protected_9", "protected_10", "protected_11", "protected_12", "protected_13", "protected_14", "protected_15", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MC33810_0_OUT_0", "MC33810_0_OUT_1", "MC33810_0_OUT_2", "MC33810_0_OUT_3", "MC33810_0_GD_0", "MC33810_0_GD_1", "MC33810_0_GD_2", "MC33810_0_GD_3"}; - public static final Field ACRPIN = Field.create("ACRPIN", 424, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_426 = Field.create("ALIGNMENTFILL_AT_426", 426, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DRIVEWHEELREVPERKM = Field.create("DRIVEWHEELREVPERKM", 428, FieldType.FLOAT).setBaseOffset(0); - public static final Field CANNBCTYPE = Field.create("CANNBCTYPE", 432, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_433 = Field.create("ALIGNMENTFILL_AT_433", 433, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CANSLEEPPERIODMS = Field.create("CANSLEEPPERIODMS", 436, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field CAMDECODER2JZPRECISION = Field.create("CAMDECODER2JZPRECISION", 440, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAP_SENSOR_HWCHANNEL = Field.create("MAP_SENSOR_HWCHANNEL", 353, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field MAP_SENSOR_ALIGNMENTFILL_AT_10 = Field.create("MAP_SENSOR_ALIGNMENTFILL_AT_10", 354, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CLT_TEMPC_1 = Field.create("CLT_TEMPC_1", 356, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_TEMPC_2 = Field.create("CLT_TEMPC_2", 360, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_TEMPC_3 = Field.create("CLT_TEMPC_3", 364, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_RESISTANCE_1 = Field.create("CLT_RESISTANCE_1", 368, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_RESISTANCE_2 = Field.create("CLT_RESISTANCE_2", 372, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_RESISTANCE_3 = Field.create("CLT_RESISTANCE_3", 376, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_BIAS_RESISTOR = Field.create("CLT_BIAS_RESISTOR", 380, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLT_ADCCHANNEL = Field.create("CLT_ADCCHANNEL", 384, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field CLT_ALIGNMENTFILL_AT_29 = Field.create("CLT_ALIGNMENTFILL_AT_29", 385, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IAT_TEMPC_1 = Field.create("IAT_TEMPC_1", 388, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_TEMPC_2 = Field.create("IAT_TEMPC_2", 392, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_TEMPC_3 = Field.create("IAT_TEMPC_3", 396, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_RESISTANCE_1 = Field.create("IAT_RESISTANCE_1", 400, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_RESISTANCE_2 = Field.create("IAT_RESISTANCE_2", 404, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_RESISTANCE_3 = Field.create("IAT_RESISTANCE_3", 408, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_BIAS_RESISTOR = Field.create("IAT_BIAS_RESISTOR", 412, FieldType.FLOAT).setBaseOffset(0); + public static final Field IAT_ADCCHANNEL = Field.create("IAT_ADCCHANNEL", 416, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IAT_ALIGNMENTFILL_AT_29 = Field.create("IAT_ALIGNMENTFILL_AT_29", 417, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHTIMINGRETARD = Field.create("LAUNCHTIMINGRETARD", 420, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field HIP9011PRESCALERANDSDO = Field.create("HIP9011PRESCALERANDSDO", 424, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field KNOCKBANDCUSTOM = Field.create("KNOCKBANDCUSTOM", 428, FieldType.FLOAT).setBaseOffset(0); + public static final Field DISPLACEMENT = Field.create("DISPLACEMENT", 432, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field TRIGGERSIMULATORRPM = Field.create("TRIGGERSIMULATORRPM", 434, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERSCOUNT = Field.create("CYLINDERSCOUNT", 436, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field FIRINGORDER = Field.create("FIRINGORDER", 440, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field ALIGNMENTFILL_AT_441 = Field.create("ALIGNMENTFILL_AT_441", 441, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BYFIRMWAREVERSION = Field.create("BYFIRMWAREVERSION", 444, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TPS1_1ADCCHANNEL = Field.create("TPS1_1ADCCHANNEL", 448, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VBATTADCCHANNEL = Field.create("VBATTADCCHANNEL", 449, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field FUELLEVELSENSOR = Field.create("FUELLEVELSENSOR", 450, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field TPS2_1ADCCHANNEL = Field.create("TPS2_1ADCCHANNEL", 451, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_DERIVATIVEFILTERLOSS = Field.create("IDLE_DERIVATIVEFILTERLOSS", 452, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRAILINGSPARKANGLE = Field.create("TRAILINGSPARKANGLE", 456, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBORE = Field.create("CYLINDERBORE", 444, FieldType.FLOAT).setBaseOffset(0); + public static final String[] engine_load_mode_e = {"Speed Density", "MAF Air Charge", "Alpha-N", "Lua"}; + public static final Field FUELALGORITHM = Field.create("FUELALGORITHM", 448, FieldType.INT8, engine_load_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALSMAXTPS = Field.create("ALSMAXTPS", 449, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CRANKINGINJECTIONMODE = Field.create("CRANKINGINJECTIONMODE", 450, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONMODE = Field.create("INJECTIONMODE", 451, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCONTROLMINRPM = Field.create("BOOSTCONTROLMINRPM", 452, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCONTROLMINTPS = Field.create("BOOSTCONTROLMINTPS", 454, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCONTROLMINMAP = Field.create("BOOSTCONTROLMINMAP", 455, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CRANKINGTIMINGANGLE = Field.create("CRANKINGTIMINGANGLE", 456, FieldType.FLOAT).setBaseOffset(0); + public static final Field IGNITIONMODE = Field.create("IGNITIONMODE", 460, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GAPTRACKINGLENGTHOVERRIDE = Field.create("GAPTRACKINGLENGTHOVERRIDE", 461, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXIDLEVSS = Field.create("MAXIDLEVSS", 462, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_463 = Field.create("ALIGNMENTFILL_AT_463", 463, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MINOILPRESSUREAFTERSTART = Field.create("MINOILPRESSUREAFTERSTART", 464, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TIMINGMODE = Field.create("TIMINGMODE", 466, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_467 = Field.create("ALIGNMENTFILL_AT_467", 467, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FIXEDMODETIMING = Field.create("FIXEDMODETIMING", 468, FieldType.FLOAT).setBaseOffset(0); + public static final Field GLOBALTRIGGERANGLEOFFSET = Field.create("GLOBALTRIGGERANGLEOFFSET", 472, FieldType.FLOAT).setBaseOffset(0); + public static final Field ANALOGINPUTDIVIDERCOEFFICIENT = Field.create("ANALOGINPUTDIVIDERCOEFFICIENT", 476, FieldType.FLOAT).setBaseOffset(0); + public static final Field VBATTDIVIDERCOEFF = Field.create("VBATTDIVIDERCOEFF", 480, FieldType.FLOAT).setBaseOffset(0); + public static final Field FANONTEMPERATURE = Field.create("FANONTEMPERATURE", 484, FieldType.FLOAT).setBaseOffset(0); + public static final Field FANOFFTEMPERATURE = Field.create("FANOFFTEMPERATURE", 488, FieldType.FLOAT).setBaseOffset(0); + public static final String[] output_pin_e = {"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", "L215", "L216", "L217", "L218", "L219", "L220", "L221", "L222", "L223", "L224", "L225", "L226", "L227", "L228", "L229", "L230", "L231", "L232", "L233", "L234", "L235", "L236", "L237", "L238", "L239", "L240", "L241", "L242", "L243", "L244", "L245", "L246", "L247", "L248", "can0", "can1", "can2", "can3", "can4", "can5", "can6", "can7", "protected_0", "protected_1", "protected_2", "protected_3", "protected_4", "protected_5", "protected_6", "protected_7", "protected_8", "protected_9", "protected_10", "protected_11", "protected_12", "protected_13", "protected_14", "protected_15", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MC33810_0_OUT_0", "MC33810_0_OUT_1", "MC33810_0_OUT_2", "MC33810_0_OUT_3", "MC33810_0_GD_0", "MC33810_0_GD_1", "MC33810_0_GD_2", "MC33810_0_GD_3"}; + public static final Field ACRPIN = Field.create("ACRPIN", 492, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_494 = Field.create("ALIGNMENTFILL_AT_494", 494, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DRIVEWHEELREVPERKM = Field.create("DRIVEWHEELREVPERKM", 496, FieldType.FLOAT).setBaseOffset(0); + public static final Field CANNBCTYPE = Field.create("CANNBCTYPE", 500, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_501 = Field.create("ALIGNMENTFILL_AT_501", 501, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CANSLEEPPERIODMS = Field.create("CANSLEEPPERIODMS", 504, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field CAMDECODER2JZPRECISION = Field.create("CAMDECODER2JZPRECISION", 508, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_509 = Field.create("ALIGNMENTFILL_AT_509", 509, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BYFIRMWAREVERSION = Field.create("BYFIRMWAREVERSION", 512, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TPS1_1ADCCHANNEL = Field.create("TPS1_1ADCCHANNEL", 516, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VBATTADCCHANNEL = Field.create("VBATTADCCHANNEL", 517, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELLEVELSENSOR = Field.create("FUELLEVELSENSOR", 518, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field TPS2_1ADCCHANNEL = Field.create("TPS2_1ADCCHANNEL", 519, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_DERIVATIVEFILTERLOSS = Field.create("IDLE_DERIVATIVEFILTERLOSS", 520, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRAILINGSPARKANGLE = Field.create("TRAILINGSPARKANGLE", 524, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final String[] trigger_type_e = {"custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "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", "INVALID", "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", "3/0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6/0", "trg81", "trg82", "trg83"}; - public static final Field TRIGGER_TYPE = Field.create("TRIGGER_TYPE", 460, FieldType.INT, trigger_type_e).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGER_CUSTOMTOTALTOOTHCOUNT = Field.create("TRIGGER_CUSTOMTOTALTOOTHCOUNT", 464, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGER_CUSTOMSKIPPEDTOOTHCOUNT = Field.create("TRIGGER_CUSTOMSKIPPEDTOOTHCOUNT", 468, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field AIRBYRPMTAPER = Field.create("AIRBYRPMTAPER", 472, FieldType.FLOAT).setBaseOffset(0); - public static final Field HIP9011SPIDEVICE = Field.create("HIP9011SPIDEVICE", 476, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCONTROLSAFEDUTYCYCLE = Field.create("BOOSTCONTROLSAFEDUTYCYCLE", 477, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAFADCCHANNEL = Field.create("MAFADCCHANNEL", 478, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field ACRREVOLUTIONS = Field.create("ACRREVOLUTIONS", 479, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GLOBALFUELCORRECTION = Field.create("GLOBALFUELCORRECTION", 480, FieldType.FLOAT).setBaseOffset(0); - public static final Field ADCVCC = Field.create("ADCVCC", 484, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAPCAMDETECTIONANGLEPOSITION = Field.create("MAPCAMDETECTIONANGLEPOSITION", 488, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGER_TYPE = Field.create("TRIGGER_TYPE", 528, FieldType.INT, trigger_type_e).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGER_CUSTOMTOTALTOOTHCOUNT = Field.create("TRIGGER_CUSTOMTOTALTOOTHCOUNT", 532, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGER_CUSTOMSKIPPEDTOOTHCOUNT = Field.create("TRIGGER_CUSTOMSKIPPEDTOOTHCOUNT", 536, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field AIRBYRPMTAPER = Field.create("AIRBYRPMTAPER", 540, FieldType.FLOAT).setBaseOffset(0); + public static final Field HIP9011SPIDEVICE = Field.create("HIP9011SPIDEVICE", 544, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCONTROLSAFEDUTYCYCLE = Field.create("BOOSTCONTROLSAFEDUTYCYCLE", 545, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAFADCCHANNEL = Field.create("MAFADCCHANNEL", 546, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field ACRREVOLUTIONS = Field.create("ACRREVOLUTIONS", 547, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GLOBALFUELCORRECTION = Field.create("GLOBALFUELCORRECTION", 548, FieldType.FLOAT).setBaseOffset(0); + public static final Field ADCVCC = Field.create("ADCVCC", 552, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAPCAMDETECTIONANGLEPOSITION = Field.create("MAPCAMDETECTIONANGLEPOSITION", 556, FieldType.FLOAT).setBaseOffset(0); public static final String[] brain_input_pin_e = {"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"}; - public static final Field CAMINPUTS1 = Field.create("CAMINPUTS1", 492, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field CAMINPUTS2 = Field.create("CAMINPUTS2", 494, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field CAMINPUTS3 = Field.create("CAMINPUTS3", 496, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field CAMINPUTS4 = Field.create("CAMINPUTS4", 498, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field AFR_HWCHANNEL = Field.create("AFR_HWCHANNEL", 500, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AFR_HWCHANNEL2 = Field.create("AFR_HWCHANNEL2", 501, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AFR_ALIGNMENTFILL_AT_2 = Field.create("AFR_ALIGNMENTFILL_AT_2", 502, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AFR_V1 = Field.create("AFR_V1", 504, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFR_VALUE1 = Field.create("AFR_VALUE1", 508, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFR_V2 = Field.create("AFR_V2", 512, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFR_VALUE2 = Field.create("AFR_VALUE2", 516, FieldType.FLOAT).setBaseOffset(0); - public static final Field THROTTLEPEDALPOSITIONADCCHANNEL = Field.create("THROTTLEPEDALPOSITIONADCCHANNEL", 520, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field ETBSPLIT = Field.create("ETBSPLIT", 521, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field CAMINPUTS1 = Field.create("CAMINPUTS1", 560, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field CAMINPUTS2 = Field.create("CAMINPUTS2", 562, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field CAMINPUTS3 = Field.create("CAMINPUTS3", 564, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field CAMINPUTS4 = Field.create("CAMINPUTS4", 566, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field AFR_HWCHANNEL = Field.create("AFR_HWCHANNEL", 568, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AFR_HWCHANNEL2 = Field.create("AFR_HWCHANNEL2", 569, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AFR_ALIGNMENTFILL_AT_2 = Field.create("AFR_ALIGNMENTFILL_AT_2", 570, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AFR_V1 = Field.create("AFR_V1", 572, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFR_VALUE1 = Field.create("AFR_VALUE1", 576, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFR_V2 = Field.create("AFR_V2", 580, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFR_VALUE2 = Field.create("AFR_VALUE2", 584, FieldType.FLOAT).setBaseOffset(0); + public static final Field THROTTLEPEDALPOSITIONADCCHANNEL = Field.create("THROTTLEPEDALPOSITIONADCCHANNEL", 588, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field ETBSPLIT = Field.create("ETBSPLIT", 589, FieldType.INT8).setScale(0.1).setBaseOffset(0); public static final String[] Gpio = {"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"}; - public static final Field TLE6240_CS = Field.create("TLE6240_CS", 522, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TLE6240_CS = Field.create("TLE6240_CS", 590, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); public static final String[] pin_output_mode_e = {"default", "default inverted", "open collector", "open collector inverted"}; - public static final Field TLE6240_CSPINMODE = Field.create("TLE6240_CSPINMODE", 524, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field MC33810_CSPINMODE = Field.create("MC33810_CSPINMODE", 525, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TLE6240_CSPINMODE = Field.create("TLE6240_CSPINMODE", 592, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field MC33810_CSPINMODE = Field.create("MC33810_CSPINMODE", 593, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); public static final String[] switch_input_pin_e = {"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"}; - public static final Field THROTTLEPEDALUPPIN = Field.create("THROTTLEPEDALUPPIN", 526, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field BAROSENSOR_LOWVALUE = Field.create("BAROSENSOR_LOWVALUE", 528, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROSENSOR_HIGHVALUE = Field.create("BAROSENSOR_HIGHVALUE", 532, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROSENSOR_TYPE = Field.create("BAROSENSOR_TYPE", 536, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BAROSENSOR_HWCHANNEL = Field.create("BAROSENSOR_HWCHANNEL", 537, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BAROSENSOR_ALIGNMENTFILL_AT_10 = Field.create("BAROSENSOR_ALIGNMENTFILL_AT_10", 538, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_SOLENOIDFREQUENCY = Field.create("IDLE_SOLENOIDFREQUENCY", 540, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_SOLENOIDPIN = Field.create("IDLE_SOLENOIDPIN", 544, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_STEPPERDIRECTIONPIN = Field.create("IDLE_STEPPERDIRECTIONPIN", 546, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_STEPPERSTEPPIN = Field.create("IDLE_STEPPERSTEPPIN", 548, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_SOLENOIDPINMODE = Field.create("IDLE_SOLENOIDPINMODE", 550, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_ALIGNMENTFILL_AT_11 = Field.create("IDLE_ALIGNMENTFILL_AT_11", 551, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MANIDLEPOSITION = Field.create("MANIDLEPOSITION", 552, FieldType.FLOAT).setBaseOffset(0); - public static final Field KNOCKRETARDAGGRESSION = Field.create("KNOCKRETARDAGGRESSION", 556, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field KNOCKRETARDREAPPLYRATE = Field.create("KNOCKRETARDREAPPLYRATE", 557, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ENGINESYNCCAM = Field.create("ENGINESYNCCAM", 558, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VSSFILTERRECIPROCAL = Field.create("VSSFILTERRECIPROCAL", 559, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VSSGEARRATIO = Field.create("VSSGEARRATIO", 560, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field VSSTOOTHCOUNT = Field.create("VSSTOOTHCOUNT", 562, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEPEDALUPPIN = Field.create("THROTTLEPEDALUPPIN", 594, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field BAROSENSOR_LOWVALUE = Field.create("BAROSENSOR_LOWVALUE", 596, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROSENSOR_HIGHVALUE = Field.create("BAROSENSOR_HIGHVALUE", 600, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROSENSOR_TYPE = Field.create("BAROSENSOR_TYPE", 604, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BAROSENSOR_HWCHANNEL = Field.create("BAROSENSOR_HWCHANNEL", 605, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BAROSENSOR_ALIGNMENTFILL_AT_10 = Field.create("BAROSENSOR_ALIGNMENTFILL_AT_10", 606, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_SOLENOIDFREQUENCY = Field.create("IDLE_SOLENOIDFREQUENCY", 608, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_SOLENOIDPIN = Field.create("IDLE_SOLENOIDPIN", 612, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_STEPPERDIRECTIONPIN = Field.create("IDLE_STEPPERDIRECTIONPIN", 614, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_STEPPERSTEPPIN = Field.create("IDLE_STEPPERSTEPPIN", 616, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_SOLENOIDPINMODE = Field.create("IDLE_SOLENOIDPINMODE", 618, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_ALIGNMENTFILL_AT_11 = Field.create("IDLE_ALIGNMENTFILL_AT_11", 619, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MANIDLEPOSITION = Field.create("MANIDLEPOSITION", 620, FieldType.FLOAT).setBaseOffset(0); + public static final Field KNOCKRETARDAGGRESSION = Field.create("KNOCKRETARDAGGRESSION", 624, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field KNOCKRETARDREAPPLYRATE = Field.create("KNOCKRETARDREAPPLYRATE", 625, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ENGINESYNCCAM = Field.create("ENGINESYNCCAM", 626, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VSSFILTERRECIPROCAL = Field.create("VSSFILTERRECIPROCAL", 627, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VSSGEARRATIO = Field.create("VSSGEARRATIO", 628, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field VSSTOOTHCOUNT = Field.create("VSSTOOTHCOUNT", 630, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] ve_override_e = {"None", "MAP", "TPS"}; - public static final Field IDLEVEOVERRIDEMODE = Field.create("IDLEVEOVERRIDEMODE", 563, FieldType.INT8, ve_override_e).setScale(1.0).setBaseOffset(0); - public static final Field L9779_CS = Field.create("L9779_CS", 564, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS1 = Field.create("INJECTIONPINS1", 566, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS2 = Field.create("INJECTIONPINS2", 568, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS3 = Field.create("INJECTIONPINS3", 570, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS4 = Field.create("INJECTIONPINS4", 572, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS5 = Field.create("INJECTIONPINS5", 574, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS6 = Field.create("INJECTIONPINS6", 576, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS7 = Field.create("INJECTIONPINS7", 578, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS8 = Field.create("INJECTIONPINS8", 580, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS9 = Field.create("INJECTIONPINS9", 582, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS10 = Field.create("INJECTIONPINS10", 584, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS11 = Field.create("INJECTIONPINS11", 586, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINS12 = Field.create("INJECTIONPINS12", 588, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS1 = Field.create("IGNITIONPINS1", 590, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS2 = Field.create("IGNITIONPINS2", 592, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS3 = Field.create("IGNITIONPINS3", 594, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS4 = Field.create("IGNITIONPINS4", 596, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS5 = Field.create("IGNITIONPINS5", 598, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS6 = Field.create("IGNITIONPINS6", 600, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS7 = Field.create("IGNITIONPINS7", 602, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS8 = Field.create("IGNITIONPINS8", 604, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS9 = Field.create("IGNITIONPINS9", 606, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS10 = Field.create("IGNITIONPINS10", 608, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS11 = Field.create("IGNITIONPINS11", 610, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINS12 = Field.create("IGNITIONPINS12", 612, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINMODE = Field.create("INJECTIONPINMODE", 614, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONPINMODE = Field.create("IGNITIONPINMODE", 615, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field FUELPUMPPIN = Field.create("FUELPUMPPIN", 616, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field FUELPUMPPINMODE = Field.create("FUELPUMPPINMODE", 618, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field GAPVVTTRACKINGLENGTHOVERRIDE = Field.create("GAPVVTTRACKINGLENGTHOVERRIDE", 619, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MALFUNCTIONINDICATORPIN = Field.create("MALFUNCTIONINDICATORPIN", 620, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field MALFUNCTIONINDICATORPINMODE = Field.create("MALFUNCTIONINDICATORPINMODE", 622, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field FANPINMODE = Field.create("FANPINMODE", 623, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field FANPIN = Field.create("FANPIN", 624, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field CLUTCHDOWNPIN = Field.create("CLUTCHDOWNPIN", 626, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORCONTROLPIN = Field.create("ALTERNATORCONTROLPIN", 628, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORCONTROLPINMODE = Field.create("ALTERNATORCONTROLPINMODE", 630, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field IDLEVEOVERRIDEMODE = Field.create("IDLEVEOVERRIDEMODE", 631, FieldType.INT8, ve_override_e).setScale(1.0).setBaseOffset(0); + public static final Field L9779_CS = Field.create("L9779_CS", 632, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS1 = Field.create("INJECTIONPINS1", 634, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS2 = Field.create("INJECTIONPINS2", 636, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS3 = Field.create("INJECTIONPINS3", 638, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS4 = Field.create("INJECTIONPINS4", 640, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS5 = Field.create("INJECTIONPINS5", 642, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS6 = Field.create("INJECTIONPINS6", 644, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS7 = Field.create("INJECTIONPINS7", 646, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS8 = Field.create("INJECTIONPINS8", 648, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS9 = Field.create("INJECTIONPINS9", 650, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS10 = Field.create("INJECTIONPINS10", 652, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS11 = Field.create("INJECTIONPINS11", 654, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINS12 = Field.create("INJECTIONPINS12", 656, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS1 = Field.create("IGNITIONPINS1", 658, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS2 = Field.create("IGNITIONPINS2", 660, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS3 = Field.create("IGNITIONPINS3", 662, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS4 = Field.create("IGNITIONPINS4", 664, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS5 = Field.create("IGNITIONPINS5", 666, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS6 = Field.create("IGNITIONPINS6", 668, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS7 = Field.create("IGNITIONPINS7", 670, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS8 = Field.create("IGNITIONPINS8", 672, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS9 = Field.create("IGNITIONPINS9", 674, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS10 = Field.create("IGNITIONPINS10", 676, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS11 = Field.create("IGNITIONPINS11", 678, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINS12 = Field.create("IGNITIONPINS12", 680, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINMODE = Field.create("INJECTIONPINMODE", 682, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONPINMODE = Field.create("IGNITIONPINMODE", 683, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELPUMPPIN = Field.create("FUELPUMPPIN", 684, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELPUMPPINMODE = Field.create("FUELPUMPPINMODE", 686, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field GAPVVTTRACKINGLENGTHOVERRIDE = Field.create("GAPVVTTRACKINGLENGTHOVERRIDE", 687, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MALFUNCTIONINDICATORPIN = Field.create("MALFUNCTIONINDICATORPIN", 688, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field MALFUNCTIONINDICATORPINMODE = Field.create("MALFUNCTIONINDICATORPINMODE", 690, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field FANPINMODE = Field.create("FANPINMODE", 691, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field FANPIN = Field.create("FANPIN", 692, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field CLUTCHDOWNPIN = Field.create("CLUTCHDOWNPIN", 694, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORCONTROLPIN = Field.create("ALTERNATORCONTROLPIN", 696, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORCONTROLPINMODE = Field.create("ALTERNATORCONTROLPINMODE", 698, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); public static final String[] pin_input_mode_e = {"DEFAULT", "PULLUP", "PULLDOWN"}; - public static final Field CLUTCHDOWNPINMODE = Field.create("CLUTCHDOWNPINMODE", 631, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field DIGITALPOTENTIOMETERCHIPSELECT1 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT1", 632, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field DIGITALPOTENTIOMETERCHIPSELECT2 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT2", 634, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field DIGITALPOTENTIOMETERCHIPSELECT3 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT3", 636, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field DIGITALPOTENTIOMETERCHIPSELECT4 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT4", 638, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ELECTRONICTHROTTLEPIN1MODE = Field.create("ELECTRONICTHROTTLEPIN1MODE", 640, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855SPIDEVICE = Field.create("MAX31855SPIDEVICE", 641, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGTRIGGERSYNC = Field.create("DEBUGTRIGGERSYNC", 642, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field DIGITALPOTENTIOMETERSPIDEVICE = Field.create("DIGITALPOTENTIOMETERSPIDEVICE", 644, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_645 = Field.create("ALIGNMENTFILL_AT_645", 645, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33972_CS = Field.create("MC33972_CS", 646, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MC33972_CSPINMODE = Field.create("MC33972_CSPINMODE", 648, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXFASTSENSOR1_ADCCHANNEL = Field.create("AUXFASTSENSOR1_ADCCHANNEL", 649, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field TPS1_2ADCCHANNEL = Field.create("TPS1_2ADCCHANNEL", 650, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field TPS2_2ADCCHANNEL = Field.create("TPS2_2ADCCHANNEL", 651, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEPEDALPOSITIONSECONDADCCHANNEL = Field.create("THROTTLEPEDALPOSITIONSECONDADCCHANNEL", 652, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field FUELLEVELVALUES = Field.create("FUELLEVELVALUES", 653, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CLUTCHDOWNPINMODE = Field.create("CLUTCHDOWNPINMODE", 699, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field DIGITALPOTENTIOMETERCHIPSELECT1 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT1", 700, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field DIGITALPOTENTIOMETERCHIPSELECT2 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT2", 702, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field DIGITALPOTENTIOMETERCHIPSELECT3 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT3", 704, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field DIGITALPOTENTIOMETERCHIPSELECT4 = Field.create("DIGITALPOTENTIOMETERCHIPSELECT4", 706, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ELECTRONICTHROTTLEPIN1MODE = Field.create("ELECTRONICTHROTTLEPIN1MODE", 708, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855SPIDEVICE = Field.create("MAX31855SPIDEVICE", 709, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGTRIGGERSYNC = Field.create("DEBUGTRIGGERSYNC", 710, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field DIGITALPOTENTIOMETERSPIDEVICE = Field.create("DIGITALPOTENTIOMETERSPIDEVICE", 712, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_713 = Field.create("ALIGNMENTFILL_AT_713", 713, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33972_CS = Field.create("MC33972_CS", 714, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MC33972_CSPINMODE = Field.create("MC33972_CSPINMODE", 716, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXFASTSENSOR1_ADCCHANNEL = Field.create("AUXFASTSENSOR1_ADCCHANNEL", 717, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field TPS1_2ADCCHANNEL = Field.create("TPS1_2ADCCHANNEL", 718, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field TPS2_2ADCCHANNEL = Field.create("TPS2_2ADCCHANNEL", 719, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEPEDALPOSITIONSECONDADCCHANNEL = Field.create("THROTTLEPEDALPOSITIONSECONDADCCHANNEL", 720, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELLEVELVALUES = Field.create("FUELLEVELVALUES", 721, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] ego_sensor_e = {"BPSX", "Innovate", "14Point7", "INVALID", "PLX", "Custom", "AEM"}; - public static final Field AFR_TYPE = Field.create("AFR_TYPE", 661, FieldType.INT8, ego_sensor_e).setScale(1.0).setBaseOffset(0); - public static final Field MC33810_CS1 = Field.create("MC33810_CS1", 662, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field IDLE_ANTIWINDUPFREQ = Field.create("IDLE_ANTIWINDUPFREQ", 664, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERINPUTPINS1 = Field.create("TRIGGERINPUTPINS1", 668, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERINPUTPINS2 = Field.create("TRIGGERINPUTPINS2", 670, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_MIN_BOOST = Field.create("MC33_T_MIN_BOOST", 672, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field HIP9011CSPINMODE = Field.create("HIP9011CSPINMODE", 674, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_675 = Field.create("ALIGNMENTFILL_AT_675", 675, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TACHOUTPUTPIN = Field.create("TACHOUTPUTPIN", 676, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TACHOUTPUTPINMODE = Field.create("TACHOUTPUTPINMODE", 678, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_679 = Field.create("ALIGNMENTFILL_AT_679", 679, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAINRELAYPIN = Field.create("MAINRELAYPIN", 680, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field SDCARDCSPIN = Field.create("SDCARDCSPIN", 682, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CANTXPIN = Field.create("CANTXPIN", 684, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CANRXPIN = Field.create("CANRXPIN", 686, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEPEDALUPPINMODE = Field.create("THROTTLEPEDALUPPINMODE", 688, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ACIDLEEXTRAOFFSET = Field.create("ACIDLEEXTRAOFFSET", 689, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FINALGEARRATIO = Field.create("FINALGEARRATIO", 690, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TCUINPUTSPEEDSENSORPIN = Field.create("TCUINPUTSPEEDSENSORPIN", 692, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCUINPUTSPEEDSENSORTEETH = Field.create("TCUINPUTSPEEDSENSORTEETH", 694, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_695 = Field.create("ALIGNMENTFILL_AT_695", 695, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field WASTEGATEPOSITIONMIN = Field.create("WASTEGATEPOSITIONMIN", 696, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field WASTEGATEPOSITIONMAX = Field.create("WASTEGATEPOSITIONMAX", 698, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLEPOSITIONMIN = Field.create("IDLEPOSITIONMIN", 700, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLEPOSITIONMAX = Field.create("IDLEPOSITIONMAX", 702, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TUNERSTUDIOSERIALSPEED = Field.create("TUNERSTUDIOSERIALSPEED", 704, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field COMPRESSIONRATIO = Field.create("COMPRESSIONRATIO", 708, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERSIMULATORPINS1 = Field.create("TRIGGERSIMULATORPINS1", 712, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERSIMULATORPINS2 = Field.create("TRIGGERSIMULATORPINS2", 714, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field FORDINJECTORSMALLPULSESLOPE = Field.create("FORDINJECTORSMALLPULSESLOPE", 716, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field TRIGGERSIMULATORPINMODES1 = Field.create("TRIGGERSIMULATORPINMODES1", 718, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERSIMULATORPINMODES2 = Field.create("TRIGGERSIMULATORPINMODES2", 719, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field MAF2ADCCHANNEL = Field.create("MAF2ADCCHANNEL", 720, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_721 = Field.create("ALIGNMENTFILL_AT_721", 721, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field O2HEATERPIN = Field.create("O2HEATERPIN", 722, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field O2HEATERPINMODETODO = Field.create("O2HEATERPINMODETODO", 724, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONMINRPM = Field.create("LAMBDAPROTECTIONMINRPM", 725, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONMINLOAD = Field.create("LAMBDAPROTECTIONMINLOAD", 726, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_727 = Field.create("ALIGNMENTFILL_AT_727", 727, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IS_ENABLED_SPI_1 = Field.create("IS_ENABLED_SPI_1", 728, FieldType.BIT, 0).setBaseOffset(0); - public static final Field IS_ENABLED_SPI_2 = Field.create("IS_ENABLED_SPI_2", 728, FieldType.BIT, 1).setBaseOffset(0); - public static final Field IS_ENABLED_SPI_3 = Field.create("IS_ENABLED_SPI_3", 728, FieldType.BIT, 2).setBaseOffset(0); - public static final Field ISSDCARDENABLED = Field.create("ISSDCARDENABLED", 728, FieldType.BIT, 3).setBaseOffset(0); - public static final Field RUSEFIVERBOSE29B = Field.create("RUSEFIVERBOSE29B", 728, FieldType.BIT, 4).setBaseOffset(0); - public static final Field RETHROWHARDFAULT = Field.create("RETHROWHARDFAULT", 728, FieldType.BIT, 5).setBaseOffset(0); - public static final Field ISHIP9011ENABLED = Field.create("ISHIP9011ENABLED", 728, FieldType.BIT, 6).setBaseOffset(0); - public static final Field REQUIREFOOTONBRAKETOCRANK = Field.create("REQUIREFOOTONBRAKETOCRANK", 728, FieldType.BIT, 7).setBaseOffset(0); - public static final Field VERBOSEQUAD = Field.create("VERBOSEQUAD", 728, FieldType.BIT, 8).setBaseOffset(0); - public static final Field USESTEPPERIDLE = Field.create("USESTEPPERIDLE", 728, FieldType.BIT, 9).setBaseOffset(0); - public static final Field ENABLEDSTEP1LIMITER = Field.create("ENABLEDSTEP1LIMITER", 728, FieldType.BIT, 10).setBaseOffset(0); - public static final Field USETPICADVANCEDMODE = Field.create("USETPICADVANCEDMODE", 728, FieldType.BIT, 11).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONENABLE = Field.create("LAMBDAPROTECTIONENABLE", 728, FieldType.BIT, 12).setBaseOffset(0); - public static final Field VERBOSETLE8888 = Field.create("VERBOSETLE8888", 728, FieldType.BIT, 13).setBaseOffset(0); - public static final Field ENABLEVERBOSECANTX = Field.create("ENABLEVERBOSECANTX", 728, FieldType.BIT, 14).setBaseOffset(0); - public static final Field ETB1CONFIGURED = Field.create("ETB1CONFIGURED", 728, FieldType.BIT, 15).setBaseOffset(0); - public static final Field ETB2CONFIGURED = Field.create("ETB2CONFIGURED", 728, FieldType.BIT, 16).setBaseOffset(0); - public static final Field MEASUREMAPONLYINONECYLINDER = Field.create("MEASUREMAPONLYINONECYLINDER", 728, FieldType.BIT, 17).setBaseOffset(0); - public static final Field STEPPERFORCEPARKINGEVERYRESTART = Field.create("STEPPERFORCEPARKINGEVERYRESTART", 728, FieldType.BIT, 18).setBaseOffset(0); - public static final Field ISFASTERENGINESPINUPENABLED = Field.create("ISFASTERENGINESPINUPENABLED", 728, FieldType.BIT, 19).setBaseOffset(0); - public static final Field COASTINGFUELCUTENABLED = Field.create("COASTINGFUELCUTENABLED", 728, FieldType.BIT, 20).setBaseOffset(0); - public static final Field USEIACTABLEFORCOASTING = Field.create("USEIACTABLEFORCOASTING", 728, FieldType.BIT, 21).setBaseOffset(0); - public static final Field USENOISELESSTRIGGERDECODER = Field.create("USENOISELESSTRIGGERDECODER", 728, FieldType.BIT, 22).setBaseOffset(0); - public static final Field USEIDLETIMINGPIDCONTROL = Field.create("USEIDLETIMINGPIDCONTROL", 728, FieldType.BIT, 23).setBaseOffset(0); - public static final Field DISABLEETBWHENENGINESTOPPED = Field.create("DISABLEETBWHENENGINESTOPPED", 728, FieldType.BIT, 24).setBaseOffset(0); - public static final Field IS_ENABLED_SPI_4 = Field.create("IS_ENABLED_SPI_4", 728, FieldType.BIT, 25).setBaseOffset(0); - public static final Field PAUSEETBCONTROL = Field.create("PAUSEETBCONTROL", 728, FieldType.BIT, 26).setBaseOffset(0); - public static final Field ALIGNENGINESNIFFERATTDC = Field.create("ALIGNENGINESNIFFERATTDC", 728, FieldType.BIT, 27).setBaseOffset(0); - public static final Field VERBOSEKLINE = Field.create("VERBOSEKLINE", 728, FieldType.BIT, 28).setBaseOffset(0); - public static final Field IDLEINCREMENTALPIDCIC = Field.create("IDLEINCREMENTALPIDCIC", 728, FieldType.BIT, 29).setBaseOffset(0); - public static final Field ENABLEAEMXSERIES = Field.create("ENABLEAEMXSERIES", 728, FieldType.BIT, 30).setBaseOffset(0); - public static final Field LOGICANALYZERPINS1 = Field.create("LOGICANALYZERPINS1", 732, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LOGICANALYZERPINS2 = Field.create("LOGICANALYZERPINS2", 734, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LOGICANALYZERPINS3 = Field.create("LOGICANALYZERPINS3", 736, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LOGICANALYZERPINS4 = Field.create("LOGICANALYZERPINS4", 738, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field MAINRELAYPINMODE = Field.create("MAINRELAYPINMODE", 740, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_741 = Field.create("ALIGNMENTFILL_AT_741", 741, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HIP9011CSPIN = Field.create("HIP9011CSPIN", 742, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field HIP9011INTHOLDPIN = Field.create("HIP9011INTHOLDPIN", 744, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field HIP9011INTHOLDPINMODE = Field.create("HIP9011INTHOLDPINMODE", 746, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field AFR_TYPE = Field.create("AFR_TYPE", 729, FieldType.INT8, ego_sensor_e).setScale(1.0).setBaseOffset(0); + public static final Field MC33810_CS1 = Field.create("MC33810_CS1", 730, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field IDLE_ANTIWINDUPFREQ = Field.create("IDLE_ANTIWINDUPFREQ", 732, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERINPUTPINS1 = Field.create("TRIGGERINPUTPINS1", 736, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERINPUTPINS2 = Field.create("TRIGGERINPUTPINS2", 738, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_MIN_BOOST = Field.create("MC33_T_MIN_BOOST", 740, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field HIP9011CSPINMODE = Field.create("HIP9011CSPINMODE", 742, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_743 = Field.create("ALIGNMENTFILL_AT_743", 743, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TACHOUTPUTPIN = Field.create("TACHOUTPUTPIN", 744, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TACHOUTPUTPINMODE = Field.create("TACHOUTPUTPINMODE", 746, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); public static final Field ALIGNMENTFILL_AT_747 = Field.create("ALIGNMENTFILL_AT_747", 747, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VERBOSECANBASEADDRESS = Field.create("VERBOSECANBASEADDRESS", 748, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field MC33_HVOLT = Field.create("MC33_HVOLT", 752, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MINIMUMBOOSTCLOSEDLOOPMAP = Field.create("MINIMUMBOOSTCLOSEDLOOPMAP", 753, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ACFANPIN = Field.create("ACFANPIN", 754, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ACFANPINMODE = Field.create("ACFANPINMODE", 756, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field L9779SPIDEVICE = Field.create("L9779SPIDEVICE", 757, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DWELLVOLTAGECORRVOLTBINS = Field.create("DWELLVOLTAGECORRVOLTBINS", 758, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field IMUTYPE = Field.create("IMUTYPE", 766, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DWELLVOLTAGECORRVALUES = Field.create("DWELLVOLTAGECORRVALUES", 767, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_775 = Field.create("ALIGNMENTFILL_AT_775", 775, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEHICLEWEIGHT = Field.create("VEHICLEWEIGHT", 776, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLEPIDRPMUPPERLIMIT = Field.create("IDLEPIDRPMUPPERLIMIT", 778, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field APPLYNONLINEARBELOWPULSE = Field.create("APPLYNONLINEARBELOWPULSE", 780, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field LPS25BAROSENSORSCL = Field.create("LPS25BAROSENSORSCL", 782, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field LPS25BAROSENSORSDA = Field.create("LPS25BAROSENSORSDA", 784, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field VEHICLESPEEDSENSORINPUTPIN = Field.create("VEHICLESPEEDSENSORINPUTPIN", 786, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field CLUTCHUPPIN = Field.create("CLUTCHUPPIN", 788, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORNONLINEARMODE = Field.create("INJECTORNONLINEARMODE", 790, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CLUTCHUPPINMODE = Field.create("CLUTCHUPPINMODE", 791, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS1 = Field.create("MAX31855_CS1", 792, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS2 = Field.create("MAX31855_CS2", 794, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS3 = Field.create("MAX31855_CS3", 796, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS4 = Field.create("MAX31855_CS4", 798, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS5 = Field.create("MAX31855_CS5", 800, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS6 = Field.create("MAX31855_CS6", 802, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS7 = Field.create("MAX31855_CS7", 804, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MAX31855_CS8 = Field.create("MAX31855_CS8", 806, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field FLEXSENSORPIN = Field.create("FLEXSENSORPIN", 808, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TEST557PIN = Field.create("TEST557PIN", 810, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDIRECTIONPINMODE = Field.create("STEPPERDIRECTIONPINMODE", 812, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field MC33972SPIDEVICE = Field.create("MC33972SPIDEVICE", 813, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STOICHRATIOSECONDARY = Field.create("STOICHRATIOSECONDARY", 814, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ETBMAXIMUMPOSITION = Field.create("ETBMAXIMUMPOSITION", 815, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SDCARDLOGFREQUENCY = Field.create("SDCARDLOGFREQUENCY", 816, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLEPOSITIONCHANNEL = Field.create("IDLEPOSITIONCHANNEL", 818, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_819 = Field.create("ALIGNMENTFILL_AT_819", 819, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGMAPAVERAGING = Field.create("DEBUGMAPAVERAGING", 820, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STARTERRELAYDISABLEPIN = Field.create("STARTERRELAYDISABLEPIN", 822, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field STARTERRELAYDISABLEPINMODE = Field.create("STARTERRELAYDISABLEPINMODE", 824, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_825 = Field.create("ALIGNMENTFILL_AT_825", 825, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SECONDSOLENOIDPIN = Field.create("SECONDSOLENOIDPIN", 826, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field STARTSTOPBUTTONPIN = Field.create("STARTSTOPBUTTONPIN", 828, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_830 = Field.create("ALIGNMENTFILL_AT_830", 830, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAPMINBUFFERLENGTH = Field.create("MAPMINBUFFERLENGTH", 832, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field IDLEPIDDEACTIVATIONTPSTHRESHOLD = Field.create("IDLEPIDDEACTIVATIONTPSTHRESHOLD", 836, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERPARKINGEXTRASTEPS = Field.create("STEPPERPARKINGEXTRASTEPS", 838, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPS1SECONDARYMIN = Field.create("TPS1SECONDARYMIN", 840, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPS1SECONDARYMAX = Field.create("TPS1SECONDARYMAX", 842, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ANTILAGRPMTRESHOLD = Field.create("ANTILAGRPMTRESHOLD", 844, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field STARTCRANKINGDURATION = Field.create("STARTCRANKINGDURATION", 846, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERERRORPIN = Field.create("TRIGGERERRORPIN", 848, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERERRORPINMODE = Field.create("TRIGGERERRORPINMODE", 850, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_851 = Field.create("ALIGNMENTFILL_AT_851", 851, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ACRELAYPIN = Field.create("ACRELAYPIN", 852, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONMINTPS = Field.create("LAMBDAPROTECTIONMINTPS", 854, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONTIMEOUT = Field.create("LAMBDAPROTECTIONTIMEOUT", 855, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONRESTORERPM = Field.create("LAMBDAPROTECTIONRESTORERPM", 856, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field ACRELAYPINMODE = Field.create("ACRELAYPINMODE", 857, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_858 = Field.create("ALIGNMENTFILL_AT_858", 858, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING1 = Field.create("SCRIPTSETTING1", 860, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING2 = Field.create("SCRIPTSETTING2", 864, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING3 = Field.create("SCRIPTSETTING3", 868, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING4 = Field.create("SCRIPTSETTING4", 872, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING5 = Field.create("SCRIPTSETTING5", 876, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING6 = Field.create("SCRIPTSETTING6", 880, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING7 = Field.create("SCRIPTSETTING7", 884, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTING8 = Field.create("SCRIPTSETTING8", 888, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field SPI1MOSIPIN = Field.create("SPI1MOSIPIN", 892, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI1MISOPIN = Field.create("SPI1MISOPIN", 894, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI1SCKPIN = Field.create("SPI1SCKPIN", 896, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI2MOSIPIN = Field.create("SPI2MOSIPIN", 898, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI2MISOPIN = Field.create("SPI2MISOPIN", 900, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI2SCKPIN = Field.create("SPI2SCKPIN", 902, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI3MOSIPIN = Field.create("SPI3MOSIPIN", 904, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI3MISOPIN = Field.create("SPI3MISOPIN", 906, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPI3SCKPIN = Field.create("SPI3SCKPIN", 908, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CDMINPUTPIN = Field.create("CDMINPUTPIN", 910, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CONSOLEUARTDEVICE = Field.create("CONSOLEUARTDEVICE", 912, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAINRELAYPIN = Field.create("MAINRELAYPIN", 748, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field SDCARDCSPIN = Field.create("SDCARDCSPIN", 750, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CANTXPIN = Field.create("CANTXPIN", 752, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CANRXPIN = Field.create("CANRXPIN", 754, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEPEDALUPPINMODE = Field.create("THROTTLEPEDALUPPINMODE", 756, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ACIDLEEXTRAOFFSET = Field.create("ACIDLEEXTRAOFFSET", 757, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FINALGEARRATIO = Field.create("FINALGEARRATIO", 758, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TCUINPUTSPEEDSENSORPIN = Field.create("TCUINPUTSPEEDSENSORPIN", 760, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCUINPUTSPEEDSENSORTEETH = Field.create("TCUINPUTSPEEDSENSORTEETH", 762, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_763 = Field.create("ALIGNMENTFILL_AT_763", 763, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field WASTEGATEPOSITIONMIN = Field.create("WASTEGATEPOSITIONMIN", 764, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field WASTEGATEPOSITIONMAX = Field.create("WASTEGATEPOSITIONMAX", 766, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLEPOSITIONMIN = Field.create("IDLEPOSITIONMIN", 768, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLEPOSITIONMAX = Field.create("IDLEPOSITIONMAX", 770, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TUNERSTUDIOSERIALSPEED = Field.create("TUNERSTUDIOSERIALSPEED", 772, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSIONRATIO = Field.create("COMPRESSIONRATIO", 776, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERSIMULATORPINS1 = Field.create("TRIGGERSIMULATORPINS1", 780, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERSIMULATORPINS2 = Field.create("TRIGGERSIMULATORPINS2", 782, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field FORDINJECTORSMALLPULSESLOPE = Field.create("FORDINJECTORSMALLPULSESLOPE", 784, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field TRIGGERSIMULATORPINMODES1 = Field.create("TRIGGERSIMULATORPINMODES1", 786, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERSIMULATORPINMODES2 = Field.create("TRIGGERSIMULATORPINMODES2", 787, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field MAF2ADCCHANNEL = Field.create("MAF2ADCCHANNEL", 788, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_789 = Field.create("ALIGNMENTFILL_AT_789", 789, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field O2HEATERPIN = Field.create("O2HEATERPIN", 790, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field O2HEATERPINMODETODO = Field.create("O2HEATERPINMODETODO", 792, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONMINRPM = Field.create("LAMBDAPROTECTIONMINRPM", 793, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONMINLOAD = Field.create("LAMBDAPROTECTIONMINLOAD", 794, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_795 = Field.create("ALIGNMENTFILL_AT_795", 795, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IS_ENABLED_SPI_1 = Field.create("IS_ENABLED_SPI_1", 796, FieldType.BIT, 0).setBaseOffset(0); + public static final Field IS_ENABLED_SPI_2 = Field.create("IS_ENABLED_SPI_2", 796, FieldType.BIT, 1).setBaseOffset(0); + public static final Field IS_ENABLED_SPI_3 = Field.create("IS_ENABLED_SPI_3", 796, FieldType.BIT, 2).setBaseOffset(0); + public static final Field ISSDCARDENABLED = Field.create("ISSDCARDENABLED", 796, FieldType.BIT, 3).setBaseOffset(0); + public static final Field RUSEFIVERBOSE29B = Field.create("RUSEFIVERBOSE29B", 796, FieldType.BIT, 4).setBaseOffset(0); + public static final Field RETHROWHARDFAULT = Field.create("RETHROWHARDFAULT", 796, FieldType.BIT, 5).setBaseOffset(0); + public static final Field ISHIP9011ENABLED = Field.create("ISHIP9011ENABLED", 796, FieldType.BIT, 6).setBaseOffset(0); + public static final Field REQUIREFOOTONBRAKETOCRANK = Field.create("REQUIREFOOTONBRAKETOCRANK", 796, FieldType.BIT, 7).setBaseOffset(0); + public static final Field VERBOSEQUAD = Field.create("VERBOSEQUAD", 796, FieldType.BIT, 8).setBaseOffset(0); + public static final Field USESTEPPERIDLE = Field.create("USESTEPPERIDLE", 796, FieldType.BIT, 9).setBaseOffset(0); + public static final Field ENABLEDSTEP1LIMITER = Field.create("ENABLEDSTEP1LIMITER", 796, FieldType.BIT, 10).setBaseOffset(0); + public static final Field USETPICADVANCEDMODE = Field.create("USETPICADVANCEDMODE", 796, FieldType.BIT, 11).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONENABLE = Field.create("LAMBDAPROTECTIONENABLE", 796, FieldType.BIT, 12).setBaseOffset(0); + public static final Field VERBOSETLE8888 = Field.create("VERBOSETLE8888", 796, FieldType.BIT, 13).setBaseOffset(0); + public static final Field ENABLEVERBOSECANTX = Field.create("ENABLEVERBOSECANTX", 796, FieldType.BIT, 14).setBaseOffset(0); + public static final Field ETB1CONFIGURED = Field.create("ETB1CONFIGURED", 796, FieldType.BIT, 15).setBaseOffset(0); + public static final Field ETB2CONFIGURED = Field.create("ETB2CONFIGURED", 796, FieldType.BIT, 16).setBaseOffset(0); + public static final Field MEASUREMAPONLYINONECYLINDER = Field.create("MEASUREMAPONLYINONECYLINDER", 796, FieldType.BIT, 17).setBaseOffset(0); + public static final Field STEPPERFORCEPARKINGEVERYRESTART = Field.create("STEPPERFORCEPARKINGEVERYRESTART", 796, FieldType.BIT, 18).setBaseOffset(0); + public static final Field ISFASTERENGINESPINUPENABLED = Field.create("ISFASTERENGINESPINUPENABLED", 796, FieldType.BIT, 19).setBaseOffset(0); + public static final Field COASTINGFUELCUTENABLED = Field.create("COASTINGFUELCUTENABLED", 796, FieldType.BIT, 20).setBaseOffset(0); + public static final Field USEIACTABLEFORCOASTING = Field.create("USEIACTABLEFORCOASTING", 796, FieldType.BIT, 21).setBaseOffset(0); + public static final Field USENOISELESSTRIGGERDECODER = Field.create("USENOISELESSTRIGGERDECODER", 796, FieldType.BIT, 22).setBaseOffset(0); + public static final Field USEIDLETIMINGPIDCONTROL = Field.create("USEIDLETIMINGPIDCONTROL", 796, FieldType.BIT, 23).setBaseOffset(0); + public static final Field DISABLEETBWHENENGINESTOPPED = Field.create("DISABLEETBWHENENGINESTOPPED", 796, FieldType.BIT, 24).setBaseOffset(0); + public static final Field IS_ENABLED_SPI_4 = Field.create("IS_ENABLED_SPI_4", 796, FieldType.BIT, 25).setBaseOffset(0); + public static final Field PAUSEETBCONTROL = Field.create("PAUSEETBCONTROL", 796, FieldType.BIT, 26).setBaseOffset(0); + public static final Field ALIGNENGINESNIFFERATTDC = Field.create("ALIGNENGINESNIFFERATTDC", 796, FieldType.BIT, 27).setBaseOffset(0); + public static final Field VERBOSEKLINE = Field.create("VERBOSEKLINE", 796, FieldType.BIT, 28).setBaseOffset(0); + public static final Field IDLEINCREMENTALPIDCIC = Field.create("IDLEINCREMENTALPIDCIC", 796, FieldType.BIT, 29).setBaseOffset(0); + public static final Field ENABLEAEMXSERIES = Field.create("ENABLEAEMXSERIES", 796, FieldType.BIT, 30).setBaseOffset(0); + public static final Field LOGICANALYZERPINS1 = Field.create("LOGICANALYZERPINS1", 800, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LOGICANALYZERPINS2 = Field.create("LOGICANALYZERPINS2", 802, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LOGICANALYZERPINS3 = Field.create("LOGICANALYZERPINS3", 804, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LOGICANALYZERPINS4 = Field.create("LOGICANALYZERPINS4", 806, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field MAINRELAYPINMODE = Field.create("MAINRELAYPINMODE", 808, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_809 = Field.create("ALIGNMENTFILL_AT_809", 809, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HIP9011CSPIN = Field.create("HIP9011CSPIN", 810, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field HIP9011INTHOLDPIN = Field.create("HIP9011INTHOLDPIN", 812, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field HIP9011INTHOLDPINMODE = Field.create("HIP9011INTHOLDPINMODE", 814, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_815 = Field.create("ALIGNMENTFILL_AT_815", 815, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VERBOSECANBASEADDRESS = Field.create("VERBOSECANBASEADDRESS", 816, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field MC33_HVOLT = Field.create("MC33_HVOLT", 820, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MINIMUMBOOSTCLOSEDLOOPMAP = Field.create("MINIMUMBOOSTCLOSEDLOOPMAP", 821, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ACFANPIN = Field.create("ACFANPIN", 822, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ACFANPINMODE = Field.create("ACFANPINMODE", 824, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field L9779SPIDEVICE = Field.create("L9779SPIDEVICE", 825, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DWELLVOLTAGECORRVOLTBINS = Field.create("DWELLVOLTAGECORRVOLTBINS", 826, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field IMUTYPE = Field.create("IMUTYPE", 834, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DWELLVOLTAGECORRVALUES = Field.create("DWELLVOLTAGECORRVALUES", 835, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_843 = Field.create("ALIGNMENTFILL_AT_843", 843, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEHICLEWEIGHT = Field.create("VEHICLEWEIGHT", 844, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLEPIDRPMUPPERLIMIT = Field.create("IDLEPIDRPMUPPERLIMIT", 846, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field APPLYNONLINEARBELOWPULSE = Field.create("APPLYNONLINEARBELOWPULSE", 848, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field LPS25BAROSENSORSCL = Field.create("LPS25BAROSENSORSCL", 850, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field LPS25BAROSENSORSDA = Field.create("LPS25BAROSENSORSDA", 852, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field VEHICLESPEEDSENSORINPUTPIN = Field.create("VEHICLESPEEDSENSORINPUTPIN", 854, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field CLUTCHUPPIN = Field.create("CLUTCHUPPIN", 856, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORNONLINEARMODE = Field.create("INJECTORNONLINEARMODE", 858, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CLUTCHUPPINMODE = Field.create("CLUTCHUPPINMODE", 859, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS1 = Field.create("MAX31855_CS1", 860, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS2 = Field.create("MAX31855_CS2", 862, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS3 = Field.create("MAX31855_CS3", 864, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS4 = Field.create("MAX31855_CS4", 866, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS5 = Field.create("MAX31855_CS5", 868, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS6 = Field.create("MAX31855_CS6", 870, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS7 = Field.create("MAX31855_CS7", 872, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MAX31855_CS8 = Field.create("MAX31855_CS8", 874, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field FLEXSENSORPIN = Field.create("FLEXSENSORPIN", 876, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TEST557PIN = Field.create("TEST557PIN", 878, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDIRECTIONPINMODE = Field.create("STEPPERDIRECTIONPINMODE", 880, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field MC33972SPIDEVICE = Field.create("MC33972SPIDEVICE", 881, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STOICHRATIOSECONDARY = Field.create("STOICHRATIOSECONDARY", 882, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ETBMAXIMUMPOSITION = Field.create("ETBMAXIMUMPOSITION", 883, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SDCARDLOGFREQUENCY = Field.create("SDCARDLOGFREQUENCY", 884, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLEPOSITIONCHANNEL = Field.create("IDLEPOSITIONCHANNEL", 886, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_887 = Field.create("ALIGNMENTFILL_AT_887", 887, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGMAPAVERAGING = Field.create("DEBUGMAPAVERAGING", 888, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STARTERRELAYDISABLEPIN = Field.create("STARTERRELAYDISABLEPIN", 890, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field STARTERRELAYDISABLEPINMODE = Field.create("STARTERRELAYDISABLEPINMODE", 892, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_893 = Field.create("ALIGNMENTFILL_AT_893", 893, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SECONDSOLENOIDPIN = Field.create("SECONDSOLENOIDPIN", 894, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field STARTSTOPBUTTONPIN = Field.create("STARTSTOPBUTTONPIN", 896, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_898 = Field.create("ALIGNMENTFILL_AT_898", 898, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAPMINBUFFERLENGTH = Field.create("MAPMINBUFFERLENGTH", 900, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field IDLEPIDDEACTIVATIONTPSTHRESHOLD = Field.create("IDLEPIDDEACTIVATIONTPSTHRESHOLD", 904, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERPARKINGEXTRASTEPS = Field.create("STEPPERPARKINGEXTRASTEPS", 906, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPS1SECONDARYMIN = Field.create("TPS1SECONDARYMIN", 908, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPS1SECONDARYMAX = Field.create("TPS1SECONDARYMAX", 910, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ANTILAGRPMTRESHOLD = Field.create("ANTILAGRPMTRESHOLD", 912, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field STARTCRANKINGDURATION = Field.create("STARTCRANKINGDURATION", 914, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERERRORPIN = Field.create("TRIGGERERRORPIN", 916, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERERRORPINMODE = Field.create("TRIGGERERRORPINMODE", 918, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_919 = Field.create("ALIGNMENTFILL_AT_919", 919, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ACRELAYPIN = Field.create("ACRELAYPIN", 920, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONMINTPS = Field.create("LAMBDAPROTECTIONMINTPS", 922, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONTIMEOUT = Field.create("LAMBDAPROTECTIONTIMEOUT", 923, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONRESTORERPM = Field.create("LAMBDAPROTECTIONRESTORERPM", 924, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field ACRELAYPINMODE = Field.create("ACRELAYPINMODE", 925, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_926 = Field.create("ALIGNMENTFILL_AT_926", 926, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING1 = Field.create("SCRIPTSETTING1", 928, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING2 = Field.create("SCRIPTSETTING2", 932, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING3 = Field.create("SCRIPTSETTING3", 936, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING4 = Field.create("SCRIPTSETTING4", 940, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING5 = Field.create("SCRIPTSETTING5", 944, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING6 = Field.create("SCRIPTSETTING6", 948, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING7 = Field.create("SCRIPTSETTING7", 952, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTING8 = Field.create("SCRIPTSETTING8", 956, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field SPI1MOSIPIN = Field.create("SPI1MOSIPIN", 960, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI1MISOPIN = Field.create("SPI1MISOPIN", 962, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI1SCKPIN = Field.create("SPI1SCKPIN", 964, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI2MOSIPIN = Field.create("SPI2MOSIPIN", 966, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI2MISOPIN = Field.create("SPI2MISOPIN", 968, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI2SCKPIN = Field.create("SPI2SCKPIN", 970, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI3MOSIPIN = Field.create("SPI3MOSIPIN", 972, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI3MISOPIN = Field.create("SPI3MISOPIN", 974, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPI3SCKPIN = Field.create("SPI3SCKPIN", 976, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CDMINPUTPIN = Field.create("CDMINPUTPIN", 978, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CONSOLEUARTDEVICE = Field.create("CONSOLEUARTDEVICE", 980, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] sensor_chart_e = {"none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1"}; - public static final Field SENSORCHARTMODE = Field.create("SENSORCHARTMODE", 913, FieldType.INT8, sensor_chart_e).setScale(1.0).setBaseOffset(0); + public static final Field SENSORCHARTMODE = Field.create("SENSORCHARTMODE", 981, FieldType.INT8, sensor_chart_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", 914, FieldType.INT8, maf_sensor_type_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_915 = Field.create("ALIGNMENTFILL_AT_915", 915, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CLUTCHUPPININVERTED = Field.create("CLUTCHUPPININVERTED", 916, FieldType.BIT, 0).setBaseOffset(0); - public static final Field CLUTCHDOWNPININVERTED = Field.create("CLUTCHDOWNPININVERTED", 916, FieldType.BIT, 1).setBaseOffset(0); - public static final Field USEHBRIDGESTODRIVEIDLESTEPPER = Field.create("USEHBRIDGESTODRIVEIDLESTEPPER", 916, FieldType.BIT, 2).setBaseOffset(0); - public static final Field MULTISPARKENABLE = Field.create("MULTISPARKENABLE", 916, FieldType.BIT, 3).setBaseOffset(0); - public static final Field ENABLELAUNCHRETARD = Field.create("ENABLELAUNCHRETARD", 916, FieldType.BIT, 4).setBaseOffset(0); - public static final Field CANINPUTBCM = Field.create("CANINPUTBCM", 916, FieldType.BIT, 5).setBaseOffset(0); - public static final Field CONSUMEOBDSENSORS = Field.create("CONSUMEOBDSENSORS", 916, FieldType.BIT, 6).setBaseOffset(0); - public static final Field ENABLECANVSS = Field.create("ENABLECANVSS", 916, FieldType.BIT, 7).setBaseOffset(0); - public static final Field ENABLEINNOVATELC2 = Field.create("ENABLEINNOVATELC2", 916, FieldType.BIT, 8).setBaseOffset(0); - public static final Field SHOWHUMANREADABLEWARNING = Field.create("SHOWHUMANREADABLEWARNING", 916, FieldType.BIT, 9).setBaseOffset(0); - public static final Field STFTIGNOREERRORMAGNITUDE = Field.create("STFTIGNOREERRORMAGNITUDE", 916, FieldType.BIT, 10).setBaseOffset(0); - public static final Field VVTBOOLEANFORVERYSPECIALCASES = Field.create("VVTBOOLEANFORVERYSPECIALCASES", 916, FieldType.BIT, 11).setBaseOffset(0); - public static final Field ENABLESOFTWAREKNOCK = Field.create("ENABLESOFTWAREKNOCK", 916, FieldType.BIT, 12).setBaseOffset(0); - public static final Field VERBOSEVVTDECODING = Field.create("VERBOSEVVTDECODING", 916, FieldType.BIT, 13).setBaseOffset(0); - public static final Field INVERTCAMVVTSIGNAL = Field.create("INVERTCAMVVTSIGNAL", 916, FieldType.BIT, 14).setBaseOffset(0); - public static final Field ALPHANUSEIAT = Field.create("ALPHANUSEIAT", 916, FieldType.BIT, 15).setBaseOffset(0); - public static final Field KNOCKBANKCYL1 = Field.create("KNOCKBANKCYL1", 916, FieldType.BIT, 16).setBaseOffset(0); - public static final Field KNOCKBANKCYL2 = Field.create("KNOCKBANKCYL2", 916, FieldType.BIT, 17).setBaseOffset(0); - public static final Field KNOCKBANKCYL3 = Field.create("KNOCKBANKCYL3", 916, FieldType.BIT, 18).setBaseOffset(0); - public static final Field KNOCKBANKCYL4 = Field.create("KNOCKBANKCYL4", 916, FieldType.BIT, 19).setBaseOffset(0); - public static final Field KNOCKBANKCYL5 = Field.create("KNOCKBANKCYL5", 916, FieldType.BIT, 20).setBaseOffset(0); - public static final Field KNOCKBANKCYL6 = Field.create("KNOCKBANKCYL6", 916, FieldType.BIT, 21).setBaseOffset(0); - public static final Field KNOCKBANKCYL7 = Field.create("KNOCKBANKCYL7", 916, FieldType.BIT, 22).setBaseOffset(0); - public static final Field KNOCKBANKCYL8 = Field.create("KNOCKBANKCYL8", 916, FieldType.BIT, 23).setBaseOffset(0); - public static final Field KNOCKBANKCYL9 = Field.create("KNOCKBANKCYL9", 916, FieldType.BIT, 24).setBaseOffset(0); - public static final Field KNOCKBANKCYL10 = Field.create("KNOCKBANKCYL10", 916, FieldType.BIT, 25).setBaseOffset(0); - public static final Field KNOCKBANKCYL11 = Field.create("KNOCKBANKCYL11", 916, FieldType.BIT, 26).setBaseOffset(0); - public static final Field KNOCKBANKCYL12 = Field.create("KNOCKBANKCYL12", 916, FieldType.BIT, 27).setBaseOffset(0); - public static final Field TCUENABLED = Field.create("TCUENABLED", 916, FieldType.BIT, 28).setBaseOffset(0); - public static final Field CANBROADCASTUSECHANNELTWO = Field.create("CANBROADCASTUSECHANNELTWO", 916, FieldType.BIT, 29).setBaseOffset(0); - public static final Field USERAWOUTPUTTODRIVEIDLESTEPPER = Field.create("USERAWOUTPUTTODRIVEIDLESTEPPER", 916, FieldType.BIT, 30).setBaseOffset(0); - public static final Field VERBOSECAN2 = Field.create("VERBOSECAN2", 916, FieldType.BIT, 31).setBaseOffset(0); - public static final Field ETBIO1_DIRECTIONPIN1 = Field.create("ETBIO1_DIRECTIONPIN1", 920, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO1_DIRECTIONPIN2 = Field.create("ETBIO1_DIRECTIONPIN2", 922, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO1_CONTROLPIN = Field.create("ETBIO1_CONTROLPIN", 924, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO1_DISABLEPIN = Field.create("ETBIO1_DISABLEPIN", 926, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO2_DIRECTIONPIN1 = Field.create("ETBIO2_DIRECTIONPIN1", 928, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO2_DIRECTIONPIN2 = Field.create("ETBIO2_DIRECTIONPIN2", 930, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO2_CONTROLPIN = Field.create("ETBIO2_CONTROLPIN", 932, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ETBIO2_DISABLEPIN = Field.create("ETBIO2_DISABLEPIN", 934, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCONTROLPIN = Field.create("BOOSTCONTROLPIN", 936, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCONTROLPINMODE = Field.create("BOOSTCONTROLPINMODE", 938, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_939 = Field.create("ALIGNMENTFILL_AT_939", 939, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALSACTIVATEPIN = Field.create("ALSACTIVATEPIN", 940, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHACTIVATEPIN = Field.create("LAUNCHACTIVATEPIN", 942, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTPID_PFACTOR = Field.create("BOOSTPID_PFACTOR", 944, FieldType.FLOAT).setBaseOffset(0); - public static final Field BOOSTPID_IFACTOR = Field.create("BOOSTPID_IFACTOR", 948, FieldType.FLOAT).setBaseOffset(0); - public static final Field BOOSTPID_DFACTOR = Field.create("BOOSTPID_DFACTOR", 952, FieldType.FLOAT).setBaseOffset(0); - public static final Field BOOSTPID_OFFSET = Field.create("BOOSTPID_OFFSET", 956, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTPID_PERIODMS = Field.create("BOOSTPID_PERIODMS", 958, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTPID_MINVALUE = Field.create("BOOSTPID_MINVALUE", 960, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTPID_MAXVALUE = Field.create("BOOSTPID_MAXVALUE", 962, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTTYPE = Field.create("BOOSTTYPE", 964, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONKEYDIGITALPINMODE = Field.create("IGNITIONKEYDIGITALPINMODE", 965, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONKEYDIGITALPIN = Field.create("IGNITIONKEYDIGITALPIN", 966, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTPWMFREQUENCY = Field.create("BOOSTPWMFREQUENCY", 968, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field MAFSENSORTYPE = Field.create("MAFSENSORTYPE", 982, FieldType.INT8, maf_sensor_type_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_983 = Field.create("ALIGNMENTFILL_AT_983", 983, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CLUTCHUPPININVERTED = Field.create("CLUTCHUPPININVERTED", 984, FieldType.BIT, 0).setBaseOffset(0); + public static final Field CLUTCHDOWNPININVERTED = Field.create("CLUTCHDOWNPININVERTED", 984, FieldType.BIT, 1).setBaseOffset(0); + public static final Field USEHBRIDGESTODRIVEIDLESTEPPER = Field.create("USEHBRIDGESTODRIVEIDLESTEPPER", 984, FieldType.BIT, 2).setBaseOffset(0); + public static final Field MULTISPARKENABLE = Field.create("MULTISPARKENABLE", 984, FieldType.BIT, 3).setBaseOffset(0); + public static final Field ENABLELAUNCHRETARD = Field.create("ENABLELAUNCHRETARD", 984, FieldType.BIT, 4).setBaseOffset(0); + public static final Field CANINPUTBCM = Field.create("CANINPUTBCM", 984, FieldType.BIT, 5).setBaseOffset(0); + public static final Field CONSUMEOBDSENSORS = Field.create("CONSUMEOBDSENSORS", 984, FieldType.BIT, 6).setBaseOffset(0); + public static final Field ENABLECANVSS = Field.create("ENABLECANVSS", 984, FieldType.BIT, 7).setBaseOffset(0); + public static final Field ENABLEINNOVATELC2 = Field.create("ENABLEINNOVATELC2", 984, FieldType.BIT, 8).setBaseOffset(0); + public static final Field SHOWHUMANREADABLEWARNING = Field.create("SHOWHUMANREADABLEWARNING", 984, FieldType.BIT, 9).setBaseOffset(0); + public static final Field STFTIGNOREERRORMAGNITUDE = Field.create("STFTIGNOREERRORMAGNITUDE", 984, FieldType.BIT, 10).setBaseOffset(0); + public static final Field VVTBOOLEANFORVERYSPECIALCASES = Field.create("VVTBOOLEANFORVERYSPECIALCASES", 984, FieldType.BIT, 11).setBaseOffset(0); + public static final Field ENABLESOFTWAREKNOCK = Field.create("ENABLESOFTWAREKNOCK", 984, FieldType.BIT, 12).setBaseOffset(0); + public static final Field VERBOSEVVTDECODING = Field.create("VERBOSEVVTDECODING", 984, FieldType.BIT, 13).setBaseOffset(0); + public static final Field INVERTCAMVVTSIGNAL = Field.create("INVERTCAMVVTSIGNAL", 984, FieldType.BIT, 14).setBaseOffset(0); + public static final Field ALPHANUSEIAT = Field.create("ALPHANUSEIAT", 984, FieldType.BIT, 15).setBaseOffset(0); + public static final Field KNOCKBANKCYL1 = Field.create("KNOCKBANKCYL1", 984, FieldType.BIT, 16).setBaseOffset(0); + public static final Field KNOCKBANKCYL2 = Field.create("KNOCKBANKCYL2", 984, FieldType.BIT, 17).setBaseOffset(0); + public static final Field KNOCKBANKCYL3 = Field.create("KNOCKBANKCYL3", 984, FieldType.BIT, 18).setBaseOffset(0); + public static final Field KNOCKBANKCYL4 = Field.create("KNOCKBANKCYL4", 984, FieldType.BIT, 19).setBaseOffset(0); + public static final Field KNOCKBANKCYL5 = Field.create("KNOCKBANKCYL5", 984, FieldType.BIT, 20).setBaseOffset(0); + public static final Field KNOCKBANKCYL6 = Field.create("KNOCKBANKCYL6", 984, FieldType.BIT, 21).setBaseOffset(0); + public static final Field KNOCKBANKCYL7 = Field.create("KNOCKBANKCYL7", 984, FieldType.BIT, 22).setBaseOffset(0); + public static final Field KNOCKBANKCYL8 = Field.create("KNOCKBANKCYL8", 984, FieldType.BIT, 23).setBaseOffset(0); + public static final Field KNOCKBANKCYL9 = Field.create("KNOCKBANKCYL9", 984, FieldType.BIT, 24).setBaseOffset(0); + public static final Field KNOCKBANKCYL10 = Field.create("KNOCKBANKCYL10", 984, FieldType.BIT, 25).setBaseOffset(0); + public static final Field KNOCKBANKCYL11 = Field.create("KNOCKBANKCYL11", 984, FieldType.BIT, 26).setBaseOffset(0); + public static final Field KNOCKBANKCYL12 = Field.create("KNOCKBANKCYL12", 984, FieldType.BIT, 27).setBaseOffset(0); + public static final Field TCUENABLED = Field.create("TCUENABLED", 984, FieldType.BIT, 28).setBaseOffset(0); + public static final Field CANBROADCASTUSECHANNELTWO = Field.create("CANBROADCASTUSECHANNELTWO", 984, FieldType.BIT, 29).setBaseOffset(0); + public static final Field USERAWOUTPUTTODRIVEIDLESTEPPER = Field.create("USERAWOUTPUTTODRIVEIDLESTEPPER", 984, FieldType.BIT, 30).setBaseOffset(0); + public static final Field VERBOSECAN2 = Field.create("VERBOSECAN2", 984, FieldType.BIT, 31).setBaseOffset(0); + public static final Field ETBIO1_DIRECTIONPIN1 = Field.create("ETBIO1_DIRECTIONPIN1", 988, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO1_DIRECTIONPIN2 = Field.create("ETBIO1_DIRECTIONPIN2", 990, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO1_CONTROLPIN = Field.create("ETBIO1_CONTROLPIN", 992, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO1_DISABLEPIN = Field.create("ETBIO1_DISABLEPIN", 994, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO2_DIRECTIONPIN1 = Field.create("ETBIO2_DIRECTIONPIN1", 996, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO2_DIRECTIONPIN2 = Field.create("ETBIO2_DIRECTIONPIN2", 998, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO2_CONTROLPIN = Field.create("ETBIO2_CONTROLPIN", 1000, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ETBIO2_DISABLEPIN = Field.create("ETBIO2_DISABLEPIN", 1002, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCONTROLPIN = Field.create("BOOSTCONTROLPIN", 1004, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCONTROLPINMODE = Field.create("BOOSTCONTROLPINMODE", 1006, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1007 = Field.create("ALIGNMENTFILL_AT_1007", 1007, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALSACTIVATEPIN = Field.create("ALSACTIVATEPIN", 1008, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHACTIVATEPIN = Field.create("LAUNCHACTIVATEPIN", 1010, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTPID_PFACTOR = Field.create("BOOSTPID_PFACTOR", 1012, FieldType.FLOAT).setBaseOffset(0); + public static final Field BOOSTPID_IFACTOR = Field.create("BOOSTPID_IFACTOR", 1016, FieldType.FLOAT).setBaseOffset(0); + public static final Field BOOSTPID_DFACTOR = Field.create("BOOSTPID_DFACTOR", 1020, FieldType.FLOAT).setBaseOffset(0); + public static final Field BOOSTPID_OFFSET = Field.create("BOOSTPID_OFFSET", 1024, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTPID_PERIODMS = Field.create("BOOSTPID_PERIODMS", 1026, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTPID_MINVALUE = Field.create("BOOSTPID_MINVALUE", 1028, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTPID_MAXVALUE = Field.create("BOOSTPID_MAXVALUE", 1030, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTTYPE = Field.create("BOOSTTYPE", 1032, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONKEYDIGITALPINMODE = Field.create("IGNITIONKEYDIGITALPINMODE", 1033, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONKEYDIGITALPIN = Field.create("IGNITIONKEYDIGITALPIN", 1034, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTPWMFREQUENCY = Field.create("BOOSTPWMFREQUENCY", 1036, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final String[] launchActivationMode_e = {"Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)"}; - public static final Field LAUNCHACTIVATIONMODE = Field.create("LAUNCHACTIVATIONMODE", 972, FieldType.INT8, launchActivationMode_e).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHACTIVATIONMODE = Field.create("LAUNCHACTIVATIONMODE", 1040, FieldType.INT8, launchActivationMode_e).setScale(1.0).setBaseOffset(0); public static final String[] antiLagActivationMode_e = {"Switch Input", "Always Active"}; - public static final Field ANTILAGACTIVATIONMODE = Field.create("ANTILAGACTIVATIONMODE", 973, FieldType.INT8, antiLagActivationMode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_974 = Field.create("ALIGNMENTFILL_AT_974", 974, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHSPEEDTHRESHOLD = Field.create("LAUNCHSPEEDTHRESHOLD", 976, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHTIMINGRPMRANGE = Field.create("LAUNCHTIMINGRPMRANGE", 980, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHFUELADDED = Field.create("LAUNCHFUELADDED", 984, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHBOOSTDUTY = Field.create("LAUNCHBOOSTDUTY", 988, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field HARDCUTRPMRANGE = Field.create("HARDCUTRPMRANGE", 992, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TURBOCHARGERFILTER = Field.create("TURBOCHARGERFILTER", 996, FieldType.FLOAT).setBaseOffset(0); - public static final Field LAUNCHTPSTHRESHOLD = Field.create("LAUNCHTPSTHRESHOLD", 1000, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHACTIVATEDELAY = Field.create("LAUNCHACTIVATEDELAY", 1004, FieldType.FLOAT).setBaseOffset(0); - public static final Field STFT_MAXIDLEREGIONRPM = Field.create("STFT_MAXIDLEREGIONRPM", 1008, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field STFT_MAXOVERRUNLOAD = Field.create("STFT_MAXOVERRUNLOAD", 1009, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_MINPOWERLOAD = Field.create("STFT_MINPOWERLOAD", 1010, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_DEADBAND = Field.create("STFT_DEADBAND", 1011, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field STFT_MINCLT = Field.create("STFT_MINCLT", 1012, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_MINAFR = Field.create("STFT_MINAFR", 1013, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field STFT_MAXAFR = Field.create("STFT_MAXAFR", 1014, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field STFT_STARTUPDELAY = Field.create("STFT_STARTUPDELAY", 1015, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS1_MAXADD = Field.create("STFT_CELLCFGS1_MAXADD", 1016, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS1_MAXREMOVE = Field.create("STFT_CELLCFGS1_MAXREMOVE", 1017, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS1_TIMECONSTANT = Field.create("STFT_CELLCFGS1_TIMECONSTANT", 1018, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field STFT_CELLCFGS2_MAXADD = Field.create("STFT_CELLCFGS2_MAXADD", 1020, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS2_MAXREMOVE = Field.create("STFT_CELLCFGS2_MAXREMOVE", 1021, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS2_TIMECONSTANT = Field.create("STFT_CELLCFGS2_TIMECONSTANT", 1022, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field STFT_CELLCFGS3_MAXADD = Field.create("STFT_CELLCFGS3_MAXADD", 1024, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS3_MAXREMOVE = Field.create("STFT_CELLCFGS3_MAXREMOVE", 1025, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS3_TIMECONSTANT = Field.create("STFT_CELLCFGS3_TIMECONSTANT", 1026, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field STFT_CELLCFGS4_MAXADD = Field.create("STFT_CELLCFGS4_MAXADD", 1028, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS4_MAXREMOVE = Field.create("STFT_CELLCFGS4_MAXREMOVE", 1029, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STFT_CELLCFGS4_TIMECONSTANT = Field.create("STFT_CELLCFGS4_TIMECONSTANT", 1030, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field STEPPERDCIO1_DIRECTIONPIN1 = Field.create("STEPPERDCIO1_DIRECTIONPIN1", 1032, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO1_DIRECTIONPIN2 = Field.create("STEPPERDCIO1_DIRECTIONPIN2", 1034, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO1_CONTROLPIN = Field.create("STEPPERDCIO1_CONTROLPIN", 1036, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO1_DISABLEPIN = Field.create("STEPPERDCIO1_DISABLEPIN", 1038, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO2_DIRECTIONPIN1 = Field.create("STEPPERDCIO2_DIRECTIONPIN1", 1040, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO2_DIRECTIONPIN2 = Field.create("STEPPERDCIO2_DIRECTIONPIN2", 1042, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO2_CONTROLPIN = Field.create("STEPPERDCIO2_CONTROLPIN", 1044, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCIO2_DISABLEPIN = Field.create("STEPPERDCIO2_DISABLEPIN", 1046, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ENGINEMAKE = Field.create("ENGINEMAKE", 1048, 32, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field ENGINECODE = Field.create("ENGINECODE", 1080, 32, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field VEHICLENAME = Field.create("VEHICLENAME", 1112, 32, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID1 = Field.create("TCU_SOLENOID1", 1144, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID2 = Field.create("TCU_SOLENOID2", 1146, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID3 = Field.create("TCU_SOLENOID3", 1148, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID4 = Field.create("TCU_SOLENOID4", 1150, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID5 = Field.create("TCU_SOLENOID5", 1152, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID6 = Field.create("TCU_SOLENOID6", 1154, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ETBFUNCTIONS1 = Field.create("ETBFUNCTIONS1", 1156, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ETBFUNCTIONS2 = Field.create("ETBFUNCTIONS2", 1157, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DRV8860SPIDEVICE = Field.create("DRV8860SPIDEVICE", 1158, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1159 = Field.create("ALIGNMENTFILL_AT_1159", 1159, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DRV8860_CS = Field.create("DRV8860_CS", 1160, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field DRV8860_CSPINMODE = Field.create("DRV8860_CSPINMODE", 1162, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1163 = Field.create("ALIGNMENTFILL_AT_1163", 1163, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DRV8860_MISO = Field.create("DRV8860_MISO", 1164, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field FUELLEVELBINS = Field.create("FUELLEVELBINS", 1166, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field LUAOUTPUTPINS1 = Field.create("LUAOUTPUTPINS1", 1182, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS2 = Field.create("LUAOUTPUTPINS2", 1184, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS3 = Field.create("LUAOUTPUTPINS3", 1186, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS4 = Field.create("LUAOUTPUTPINS4", 1188, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS5 = Field.create("LUAOUTPUTPINS5", 1190, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS6 = Field.create("LUAOUTPUTPINS6", 1192, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS7 = Field.create("LUAOUTPUTPINS7", 1194, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUAOUTPUTPINS8 = Field.create("LUAOUTPUTPINS8", 1196, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1198 = Field.create("ALIGNMENTFILL_AT_1198", 1198, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTOFFSETS1 = Field.create("VVTOFFSETS1", 1200, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTOFFSETS2 = Field.create("VVTOFFSETS2", 1204, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTOFFSETS3 = Field.create("VVTOFFSETS3", 1208, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTOFFSETS4 = Field.create("VVTOFFSETS4", 1212, FieldType.FLOAT).setBaseOffset(0); - public static final Field VRTHRESHOLD1_RPMBINS = Field.create("VRTHRESHOLD1_RPMBINS", 1216, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field VRTHRESHOLD1_VALUES = Field.create("VRTHRESHOLD1_VALUES", 1222, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field VRTHRESHOLD1_PIN = Field.create("VRTHRESHOLD1_PIN", 1228, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field VRTHRESHOLD1_ALIGNMENTFILL_AT_14 = Field.create("VRTHRESHOLD1_ALIGNMENTFILL_AT_14", 1230, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VRTHRESHOLD2_RPMBINS = Field.create("VRTHRESHOLD2_RPMBINS", 1232, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field VRTHRESHOLD2_VALUES = Field.create("VRTHRESHOLD2_VALUES", 1238, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field VRTHRESHOLD2_PIN = Field.create("VRTHRESHOLD2_PIN", 1244, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field VRTHRESHOLD2_ALIGNMENTFILL_AT_14 = Field.create("VRTHRESHOLD2_ALIGNMENTFILL_AT_14", 1246, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMNOTE1 = Field.create("GPPWMNOTE1", 1248, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMNOTE2 = Field.create("GPPWMNOTE2", 1264, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMNOTE3 = Field.create("GPPWMNOTE3", 1280, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMNOTE4 = Field.create("GPPWMNOTE4", 1296, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field TPS2SECONDARYMIN = Field.create("TPS2SECONDARYMIN", 1312, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPS2SECONDARYMAX = Field.create("TPS2SECONDARYMAX", 1314, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field WIDEBANDONSECONDBUS = Field.create("WIDEBANDONSECONDBUS", 1316, FieldType.BIT, 0).setBaseOffset(0); - public static final Field FUELCLOSEDLOOPCORRECTIONENABLED = Field.create("FUELCLOSEDLOOPCORRECTIONENABLED", 1316, FieldType.BIT, 1).setBaseOffset(0); - public static final Field ODDFIREENGINE = Field.create("ODDFIREENGINE", 1316, FieldType.BIT, 2).setBaseOffset(0); - public static final Field BOARDUSETACHPULLUP = Field.create("BOARDUSETACHPULLUP", 1316, FieldType.BIT, 3).setBaseOffset(0); - public static final Field BOARDUSETEMPPULLUP = Field.create("BOARDUSETEMPPULLUP", 1316, FieldType.BIT, 4).setBaseOffset(0); - public static final Field YESUNDERSTANDLOCKING = Field.create("YESUNDERSTANDLOCKING", 1316, FieldType.BIT, 5).setBaseOffset(0); - public static final Field SILENTTRIGGERERROR = Field.create("SILENTTRIGGERERROR", 1316, FieldType.BIT, 6).setBaseOffset(0); - public static final Field USELINEARCLTSENSOR = Field.create("USELINEARCLTSENSOR", 1316, FieldType.BIT, 7).setBaseOffset(0); - public static final Field CANREADENABLED = Field.create("CANREADENABLED", 1316, FieldType.BIT, 8).setBaseOffset(0); - public static final Field CANWRITEENABLED = Field.create("CANWRITEENABLED", 1316, FieldType.BIT, 9).setBaseOffset(0); - public static final Field USELINEARIATSENSOR = Field.create("USELINEARIATSENSOR", 1316, FieldType.BIT, 10).setBaseOffset(0); - public static final Field BOARDUSE2STEPPULLDOWN = Field.create("BOARDUSE2STEPPULLDOWN", 1316, FieldType.BIT, 11).setBaseOffset(0); - public static final Field TACHPULSEDURATIONASDUTYCYCLE = Field.create("TACHPULSEDURATIONASDUTYCYCLE", 1316, FieldType.BIT, 12).setBaseOffset(0); - public static final Field ISALTERNATORCONTROLENABLED = Field.create("ISALTERNATORCONTROLENABLED", 1316, FieldType.BIT, 13).setBaseOffset(0); - public static final Field INVERTPRIMARYTRIGGERSIGNAL = Field.create("INVERTPRIMARYTRIGGERSIGNAL", 1316, FieldType.BIT, 14).setBaseOffset(0); - public static final Field INVERTSECONDARYTRIGGERSIGNAL = Field.create("INVERTSECONDARYTRIGGERSIGNAL", 1316, FieldType.BIT, 15).setBaseOffset(0); - public static final Field CUTFUELONHARDLIMIT = Field.create("CUTFUELONHARDLIMIT", 1316, FieldType.BIT, 16).setBaseOffset(0); - public static final Field CUTSPARKONHARDLIMIT = Field.create("CUTSPARKONHARDLIMIT", 1316, FieldType.BIT, 17).setBaseOffset(0); - public static final Field LAUNCHFUELCUTENABLE = Field.create("LAUNCHFUELCUTENABLE", 1316, FieldType.BIT, 18).setBaseOffset(0); - public static final Field LAUNCHSPARKCUTENABLE = Field.create("LAUNCHSPARKCUTENABLE", 1316, FieldType.BIT, 19).setBaseOffset(0); - public static final Field BOARDUSECRANKPULLUP = Field.create("BOARDUSECRANKPULLUP", 1316, FieldType.BIT, 20).setBaseOffset(0); - public static final Field BOARDUSECAMPULLDOWN = Field.create("BOARDUSECAMPULLDOWN", 1316, FieldType.BIT, 21).setBaseOffset(0); - public static final Field BOARDUSECAMVRPULLUP = Field.create("BOARDUSECAMVRPULLUP", 1316, FieldType.BIT, 22).setBaseOffset(0); - public static final Field BOARDUSED2PULLDOWN = Field.create("BOARDUSED2PULLDOWN", 1316, FieldType.BIT, 23).setBaseOffset(0); - public static final Field BOARDUSED3PULLDOWN = Field.create("BOARDUSED3PULLDOWN", 1316, FieldType.BIT, 24).setBaseOffset(0); - public static final Field BOARDUSED4PULLDOWN = Field.create("BOARDUSED4PULLDOWN", 1316, FieldType.BIT, 25).setBaseOffset(0); - public static final Field BOARDUSED5PULLDOWN = Field.create("BOARDUSED5PULLDOWN", 1316, FieldType.BIT, 26).setBaseOffset(0); - public static final Field VERBOSEISOTP = Field.create("VERBOSEISOTP", 1316, FieldType.BIT, 27).setBaseOffset(0); - public static final Field ENGINESNIFFERFOCUSONINPUTS = Field.create("ENGINESNIFFERFOCUSONINPUTS", 1316, FieldType.BIT, 28).setBaseOffset(0); - public static final Field LAUNCHACTIVATEINVERTED = Field.create("LAUNCHACTIVATEINVERTED", 1316, FieldType.BIT, 29).setBaseOffset(0); - public static final Field TWOSTROKE = Field.create("TWOSTROKE", 1316, FieldType.BIT, 30).setBaseOffset(0); - public static final Field SKIPPEDWHEELONCAM = Field.create("SKIPPEDWHEELONCAM", 1316, FieldType.BIT, 31).setBaseOffset(0); - public static final Field HIPOUTPUTCHANNEL = Field.create("HIPOUTPUTCHANNEL", 1320, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1321 = Field.create("ALIGNMENTFILL_AT_1321", 1321, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ACSWITCH = Field.create("ACSWITCH", 1322, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field VREFADCCHANNEL = Field.create("VREFADCCHANNEL", 1324, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field ETBNEUTRALPOSITION = Field.create("ETBNEUTRALPOSITION", 1325, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IDLEMODE = Field.create("IDLEMODE", 1326, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1327 = Field.create("ALIGNMENTFILL_AT_1327", 1327, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ISINJECTIONENABLED = Field.create("ISINJECTIONENABLED", 1328, FieldType.BIT, 0).setBaseOffset(0); - public static final Field ISIGNITIONENABLED = Field.create("ISIGNITIONENABLED", 1328, FieldType.BIT, 1).setBaseOffset(0); - public static final Field ISCYLINDERCLEANUPENABLED = Field.create("ISCYLINDERCLEANUPENABLED", 1328, FieldType.BIT, 2).setBaseOffset(0); - public static final Field COMPLEXWALLMODEL = Field.create("COMPLEXWALLMODEL", 1328, FieldType.BIT, 3).setBaseOffset(0); - public static final Field ALWAYSINSTANTRPM = Field.create("ALWAYSINSTANTRPM", 1328, FieldType.BIT, 4).setBaseOffset(0); - public static final Field ISMAPAVERAGINGENABLED = Field.create("ISMAPAVERAGINGENABLED", 1328, FieldType.BIT, 5).setBaseOffset(0); - public static final Field OVERRIDECRANKINGIACSETTING = Field.create("OVERRIDECRANKINGIACSETTING", 1328, FieldType.BIT, 6).setBaseOffset(0); - public static final Field USESEPARATEADVANCEFORIDLE = Field.create("USESEPARATEADVANCEFORIDLE", 1328, FieldType.BIT, 7).setBaseOffset(0); - public static final Field ISWAVEANALYZERENABLED = Field.create("ISWAVEANALYZERENABLED", 1328, FieldType.BIT, 8).setBaseOffset(0); - public static final Field USESEPARATEVEFORIDLE = Field.create("USESEPARATEVEFORIDLE", 1328, FieldType.BIT, 9).setBaseOffset(0); - public static final Field VERBOSETRIGGERSYNCHDETAILS = Field.create("VERBOSETRIGGERSYNCHDETAILS", 1328, FieldType.BIT, 10).setBaseOffset(0); - public static final Field ISMANUALSPINNINGMODE = Field.create("ISMANUALSPINNINGMODE", 1328, FieldType.BIT, 11).setBaseOffset(0); - public static final Field CUTFUELINACR = Field.create("CUTFUELINACR", 1328, FieldType.BIT, 12).setBaseOffset(0); - public static final Field HONDAK = Field.create("HONDAK", 1328, FieldType.BIT, 13).setBaseOffset(0); - public static final Field TWOWIREBATCHIGNITION = Field.create("TWOWIREBATCHIGNITION", 1328, FieldType.BIT, 14).setBaseOffset(0); - public static final Field USEFIXEDBAROCORRFROMMAP = Field.create("USEFIXEDBAROCORRFROMMAP", 1328, FieldType.BIT, 15).setBaseOffset(0); - public static final Field USESEPARATEADVANCEFORCRANKING = Field.create("USESEPARATEADVANCEFORCRANKING", 1328, FieldType.BIT, 16).setBaseOffset(0); - public static final Field USEADVANCECORRECTIONSFORCRANKING = Field.create("USEADVANCECORRECTIONSFORCRANKING", 1328, FieldType.BIT, 17).setBaseOffset(0); - public static final Field FLEXCRANKING = Field.create("FLEXCRANKING", 1328, FieldType.BIT, 18).setBaseOffset(0); - public static final Field USEIACPIDMULTTABLE = Field.create("USEIACPIDMULTTABLE", 1328, FieldType.BIT, 19).setBaseOffset(0); - public static final Field ISBOOSTCONTROLENABLED = Field.create("ISBOOSTCONTROLENABLED", 1328, FieldType.BIT, 20).setBaseOffset(0); - public static final Field LAUNCHSMOOTHRETARD = Field.create("LAUNCHSMOOTHRETARD", 1328, FieldType.BIT, 21).setBaseOffset(0); - public static final Field ISPHASESYNCREQUIREDFORIGNITION = Field.create("ISPHASESYNCREQUIREDFORIGNITION", 1328, FieldType.BIT, 22).setBaseOffset(0); - public static final Field USECLTBASEDRPMLIMIT = Field.create("USECLTBASEDRPMLIMIT", 1328, FieldType.BIT, 23).setBaseOffset(0); - public static final Field FORCEO2HEATING = Field.create("FORCEO2HEATING", 1328, FieldType.BIT, 24).setBaseOffset(0); - public static final Field INVERTVVTCONTROLINTAKE = Field.create("INVERTVVTCONTROLINTAKE", 1328, FieldType.BIT, 25).setBaseOffset(0); - public static final Field INVERTVVTCONTROLEXHAUST = Field.create("INVERTVVTCONTROLEXHAUST", 1328, FieldType.BIT, 26).setBaseOffset(0); - public static final Field USEBIQUADONAUXSPEEDSENSORS = Field.create("USEBIQUADONAUXSPEEDSENSORS", 1328, FieldType.BIT, 27).setBaseOffset(0); - public static final Field SDTRIGGERLOG = Field.create("SDTRIGGERLOG", 1328, FieldType.BIT, 28).setBaseOffset(0); - public static final Field ALSACTIVATEINVERTED = Field.create("ALSACTIVATEINVERTED", 1328, FieldType.BIT, 29).setBaseOffset(0); - public static final Field STEPPER_DC_USE_TWO_WIRES = Field.create("STEPPER_DC_USE_TWO_WIRES", 1328, FieldType.BIT, 30).setBaseOffset(0); - public static final Field WATCHOUTFORLINEARTIME = Field.create("WATCHOUTFORLINEARTIME", 1328, FieldType.BIT, 31).setBaseOffset(0); - public static final Field ENGINECHARTSIZE = Field.create("ENGINECHARTSIZE", 1332, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TURBOSPEEDSENSORMULTIPLIER = Field.create("TURBOSPEEDSENSORMULTIPLIER", 1336, FieldType.FLOAT).setBaseOffset(0); - public static final Field CAMINPUTSDEBUG1 = Field.create("CAMINPUTSDEBUG1", 1340, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CAMINPUTSDEBUG2 = Field.create("CAMINPUTSDEBUG2", 1342, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CAMINPUTSDEBUG3 = Field.create("CAMINPUTSDEBUG3", 1344, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CAMINPUTSDEBUG4 = Field.create("CAMINPUTSDEBUG4", 1346, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ACIDLERPMTARGET = Field.create("ACIDLERPMTARGET", 1348, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field WARNINGPERIOD = Field.create("WARNINGPERIOD", 1350, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field KNOCKDETECTIONWINDOWSTART = Field.create("KNOCKDETECTIONWINDOWSTART", 1352, FieldType.FLOAT).setBaseOffset(0); - public static final Field KNOCKDETECTIONWINDOWEND = Field.create("KNOCKDETECTIONWINDOWEND", 1356, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLESTEPPERREACTIONTIME = Field.create("IDLESTEPPERREACTIONTIME", 1360, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLESTEPPERTOTALSTEPS = Field.create("IDLESTEPPERTOTALSTEPS", 1364, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field NOACCELAFTERHARDLIMITPERIODSECS = Field.create("NOACCELAFTERHARDLIMITPERIODSECS", 1368, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAPAVERAGINGSCHEDULINGATINDEX = Field.create("MAPAVERAGINGSCHEDULINGATINDEX", 1372, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TACHPULSEDURACTIONMS = Field.create("TACHPULSEDURACTIONMS", 1376, FieldType.FLOAT).setBaseOffset(0); - public static final Field WWAETAU = Field.create("WWAETAU", 1380, FieldType.FLOAT).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_PFACTOR = Field.create("ALTERNATORCONTROL_PFACTOR", 1384, FieldType.FLOAT).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_IFACTOR = Field.create("ALTERNATORCONTROL_IFACTOR", 1388, FieldType.FLOAT).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_DFACTOR = Field.create("ALTERNATORCONTROL_DFACTOR", 1392, FieldType.FLOAT).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_OFFSET = Field.create("ALTERNATORCONTROL_OFFSET", 1396, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_PERIODMS = Field.create("ALTERNATORCONTROL_PERIODMS", 1398, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_MINVALUE = Field.create("ALTERNATORCONTROL_MINVALUE", 1400, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORCONTROL_MAXVALUE = Field.create("ALTERNATORCONTROL_MAXVALUE", 1402, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETB_PFACTOR = Field.create("ETB_PFACTOR", 1404, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETB_IFACTOR = Field.create("ETB_IFACTOR", 1408, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETB_DFACTOR = Field.create("ETB_DFACTOR", 1412, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETB_OFFSET = Field.create("ETB_OFFSET", 1416, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETB_PERIODMS = Field.create("ETB_PERIODMS", 1418, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETB_MINVALUE = Field.create("ETB_MINVALUE", 1420, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETB_MAXVALUE = Field.create("ETB_MAXVALUE", 1422, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERINPUTDEBUGPINS1 = Field.create("TRIGGERINPUTDEBUGPINS1", 1424, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERINPUTDEBUGPINS2 = Field.create("TRIGGERINPUTDEBUGPINS2", 1426, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field AIRTAPERRPMRANGE = Field.create("AIRTAPERRPMRANGE", 1428, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TURBOSPEEDSENSORINPUTPIN = Field.create("TURBOSPEEDSENSORINPUTPIN", 1430, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TPS2MIN = Field.create("TPS2MIN", 1432, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPS2MAX = Field.create("TPS2MAX", 1434, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field STARTERCONTROLPIN = Field.create("STARTERCONTROLPIN", 1436, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field STARTSTOPBUTTONMODE = Field.create("STARTSTOPBUTTONMODE", 1438, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1439 = Field.create("ALIGNMENTFILL_AT_1439", 1439, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33816_FLAG0 = Field.create("MC33816_FLAG0", 1440, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TACHPULSEPERREV = Field.create("TACHPULSEPERREV", 1442, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1443 = Field.create("ALIGNMENTFILL_AT_1443", 1443, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAPERRORDETECTIONTOOLOW = Field.create("MAPERRORDETECTIONTOOLOW", 1444, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAPERRORDETECTIONTOOHIGH = Field.create("MAPERRORDETECTIONTOOHIGH", 1448, FieldType.FLOAT).setBaseOffset(0); - public static final Field MULTISPARKSPARKDURATION = Field.create("MULTISPARKSPARKDURATION", 1452, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field MULTISPARKDWELL = Field.create("MULTISPARKDWELL", 1454, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field IDLERPMPID_PFACTOR = Field.create("IDLERPMPID_PFACTOR", 1456, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLERPMPID_IFACTOR = Field.create("IDLERPMPID_IFACTOR", 1460, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLERPMPID_DFACTOR = Field.create("IDLERPMPID_DFACTOR", 1464, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLERPMPID_OFFSET = Field.create("IDLERPMPID_OFFSET", 1468, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLERPMPID_PERIODMS = Field.create("IDLERPMPID_PERIODMS", 1470, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLERPMPID_MINVALUE = Field.create("IDLERPMPID_MINVALUE", 1472, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLERPMPID_MAXVALUE = Field.create("IDLERPMPID_MAXVALUE", 1474, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field WWAEBETA = Field.create("WWAEBETA", 1476, FieldType.FLOAT).setBaseOffset(0); - public static final Field BINARYSERIALTXPIN = Field.create("BINARYSERIALTXPIN", 1480, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field BINARYSERIALRXPIN = Field.create("BINARYSERIALRXPIN", 1482, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field AUXVALVES1 = Field.create("AUXVALVES1", 1484, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field AUXVALVES2 = Field.create("AUXVALVES2", 1486, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TCUUPSHIFTBUTTONPIN = Field.create("TCUUPSHIFTBUTTONPIN", 1488, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCUDOWNSHIFTBUTTONPIN = Field.create("TCUDOWNSHIFTBUTTONPIN", 1490, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEPEDALUPVOLTAGE = Field.create("THROTTLEPEDALUPVOLTAGE", 1492, FieldType.FLOAT).setBaseOffset(0); - public static final Field THROTTLEPEDALWOTVOLTAGE = Field.create("THROTTLEPEDALWOTVOLTAGE", 1496, FieldType.FLOAT).setBaseOffset(0); - public static final Field STARTUPFUELPUMPDURATION = Field.create("STARTUPFUELPUMPDURATION", 1500, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLEPIDRPMDEADZONE = Field.create("IDLEPIDRPMDEADZONE", 1502, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TARGETVBATT = Field.create("TARGETVBATT", 1504, FieldType.FLOAT).setBaseOffset(0); - public static final Field MC33810DISABLERECOVERYMODE = Field.create("MC33810DISABLERECOVERYMODE", 1508, FieldType.BIT, 0).setBaseOffset(0); - public static final Field MC33810GPGD0MODE = Field.create("MC33810GPGD0MODE", 1508, FieldType.BIT, 1).setBaseOffset(0); - public static final Field MC33810GPGD1MODE = Field.create("MC33810GPGD1MODE", 1508, FieldType.BIT, 2).setBaseOffset(0); - public static final Field MC33810GPGD2MODE = Field.create("MC33810GPGD2MODE", 1508, FieldType.BIT, 3).setBaseOffset(0); - public static final Field MC33810GPGD3MODE = Field.create("MC33810GPGD3MODE", 1508, FieldType.BIT, 4).setBaseOffset(0); - public static final Field AFTERCRANKINGIACTAPERDURATION = Field.create("AFTERCRANKINGIACTAPERDURATION", 1512, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 1514, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXSERIALTXPIN = Field.create("AUXSERIALTXPIN", 1516, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field AUXSERIALRXPIN = Field.create("AUXSERIALRXPIN", 1518, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ACCELEROMETERCSPIN = Field.create("ACCELEROMETERCSPIN", 1520, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TPSACCELLOOKBACK = Field.create("TPSACCELLOOKBACK", 1522, FieldType.INT8).setScale(0.05).setBaseOffset(0); - public static final Field COASTINGFUELCUTVSSLOW = Field.create("COASTINGFUELCUTVSSLOW", 1523, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field COASTINGFUELCUTVSSHIGH = Field.create("COASTINGFUELCUTVSSHIGH", 1524, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field NOFUELTRIMAFTERDFCOTIME = Field.create("NOFUELTRIMAFTERDFCOTIME", 1525, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1526 = Field.create("ALIGNMENTFILL_AT_1526", 1526, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TPSACCELENRICHMENTTHRESHOLD = Field.create("TPSACCELENRICHMENTTHRESHOLD", 1528, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXSPEEDSENSORINPUTPIN1 = Field.create("AUXSPEEDSENSORINPUTPIN1", 1532, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXSPEEDSENSORINPUTPIN2 = Field.create("AUXSPEEDSENSORINPUTPIN2", 1534, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TOTALGEARSCOUNT = Field.create("TOTALGEARSCOUNT", 1536, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONTIMINGMODE = Field.create("INJECTIONTIMINGMODE", 1537, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ANTILAGACTIVATIONMODE = Field.create("ANTILAGACTIVATIONMODE", 1041, FieldType.INT8, antiLagActivationMode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1042 = Field.create("ALIGNMENTFILL_AT_1042", 1042, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHSPEEDTHRESHOLD = Field.create("LAUNCHSPEEDTHRESHOLD", 1044, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHTIMINGRPMRANGE = Field.create("LAUNCHTIMINGRPMRANGE", 1048, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHFUELADDED = Field.create("LAUNCHFUELADDED", 1052, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHBOOSTDUTY = Field.create("LAUNCHBOOSTDUTY", 1056, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field HARDCUTRPMRANGE = Field.create("HARDCUTRPMRANGE", 1060, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TURBOCHARGERFILTER = Field.create("TURBOCHARGERFILTER", 1064, FieldType.FLOAT).setBaseOffset(0); + public static final Field LAUNCHTPSTHRESHOLD = Field.create("LAUNCHTPSTHRESHOLD", 1068, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHACTIVATEDELAY = Field.create("LAUNCHACTIVATEDELAY", 1072, FieldType.FLOAT).setBaseOffset(0); + public static final Field STFT_MAXIDLEREGIONRPM = Field.create("STFT_MAXIDLEREGIONRPM", 1076, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field STFT_MAXOVERRUNLOAD = Field.create("STFT_MAXOVERRUNLOAD", 1077, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_MINPOWERLOAD = Field.create("STFT_MINPOWERLOAD", 1078, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_DEADBAND = Field.create("STFT_DEADBAND", 1079, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field STFT_MINCLT = Field.create("STFT_MINCLT", 1080, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_MINAFR = Field.create("STFT_MINAFR", 1081, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field STFT_MAXAFR = Field.create("STFT_MAXAFR", 1082, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field STFT_STARTUPDELAY = Field.create("STFT_STARTUPDELAY", 1083, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS1_MAXADD = Field.create("STFT_CELLCFGS1_MAXADD", 1084, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS1_MAXREMOVE = Field.create("STFT_CELLCFGS1_MAXREMOVE", 1085, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS1_TIMECONSTANT = Field.create("STFT_CELLCFGS1_TIMECONSTANT", 1086, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field STFT_CELLCFGS2_MAXADD = Field.create("STFT_CELLCFGS2_MAXADD", 1088, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS2_MAXREMOVE = Field.create("STFT_CELLCFGS2_MAXREMOVE", 1089, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS2_TIMECONSTANT = Field.create("STFT_CELLCFGS2_TIMECONSTANT", 1090, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field STFT_CELLCFGS3_MAXADD = Field.create("STFT_CELLCFGS3_MAXADD", 1092, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS3_MAXREMOVE = Field.create("STFT_CELLCFGS3_MAXREMOVE", 1093, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS3_TIMECONSTANT = Field.create("STFT_CELLCFGS3_TIMECONSTANT", 1094, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field STFT_CELLCFGS4_MAXADD = Field.create("STFT_CELLCFGS4_MAXADD", 1096, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS4_MAXREMOVE = Field.create("STFT_CELLCFGS4_MAXREMOVE", 1097, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STFT_CELLCFGS4_TIMECONSTANT = Field.create("STFT_CELLCFGS4_TIMECONSTANT", 1098, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field STEPPERDCIO1_DIRECTIONPIN1 = Field.create("STEPPERDCIO1_DIRECTIONPIN1", 1100, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO1_DIRECTIONPIN2 = Field.create("STEPPERDCIO1_DIRECTIONPIN2", 1102, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO1_CONTROLPIN = Field.create("STEPPERDCIO1_CONTROLPIN", 1104, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO1_DISABLEPIN = Field.create("STEPPERDCIO1_DISABLEPIN", 1106, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO2_DIRECTIONPIN1 = Field.create("STEPPERDCIO2_DIRECTIONPIN1", 1108, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO2_DIRECTIONPIN2 = Field.create("STEPPERDCIO2_DIRECTIONPIN2", 1110, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO2_CONTROLPIN = Field.create("STEPPERDCIO2_CONTROLPIN", 1112, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCIO2_DISABLEPIN = Field.create("STEPPERDCIO2_DISABLEPIN", 1114, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ENGINEMAKE = Field.create("ENGINEMAKE", 1116, 32, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field ENGINECODE = Field.create("ENGINECODE", 1148, 32, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field VEHICLENAME = Field.create("VEHICLENAME", 1180, 32, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID1 = Field.create("TCU_SOLENOID1", 1212, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID2 = Field.create("TCU_SOLENOID2", 1214, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID3 = Field.create("TCU_SOLENOID3", 1216, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID4 = Field.create("TCU_SOLENOID4", 1218, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID5 = Field.create("TCU_SOLENOID5", 1220, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID6 = Field.create("TCU_SOLENOID6", 1222, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ETBFUNCTIONS1 = Field.create("ETBFUNCTIONS1", 1224, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ETBFUNCTIONS2 = Field.create("ETBFUNCTIONS2", 1225, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DRV8860SPIDEVICE = Field.create("DRV8860SPIDEVICE", 1226, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1227 = Field.create("ALIGNMENTFILL_AT_1227", 1227, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DRV8860_CS = Field.create("DRV8860_CS", 1228, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field DRV8860_CSPINMODE = Field.create("DRV8860_CSPINMODE", 1230, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1231 = Field.create("ALIGNMENTFILL_AT_1231", 1231, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DRV8860_MISO = Field.create("DRV8860_MISO", 1232, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field FUELLEVELBINS = Field.create("FUELLEVELBINS", 1234, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field LUAOUTPUTPINS1 = Field.create("LUAOUTPUTPINS1", 1250, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS2 = Field.create("LUAOUTPUTPINS2", 1252, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS3 = Field.create("LUAOUTPUTPINS3", 1254, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS4 = Field.create("LUAOUTPUTPINS4", 1256, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS5 = Field.create("LUAOUTPUTPINS5", 1258, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS6 = Field.create("LUAOUTPUTPINS6", 1260, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS7 = Field.create("LUAOUTPUTPINS7", 1262, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUAOUTPUTPINS8 = Field.create("LUAOUTPUTPINS8", 1264, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1266 = Field.create("ALIGNMENTFILL_AT_1266", 1266, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTOFFSETS1 = Field.create("VVTOFFSETS1", 1268, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTOFFSETS2 = Field.create("VVTOFFSETS2", 1272, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTOFFSETS3 = Field.create("VVTOFFSETS3", 1276, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTOFFSETS4 = Field.create("VVTOFFSETS4", 1280, FieldType.FLOAT).setBaseOffset(0); + public static final Field VRTHRESHOLD1_RPMBINS = Field.create("VRTHRESHOLD1_RPMBINS", 1284, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field VRTHRESHOLD1_VALUES = Field.create("VRTHRESHOLD1_VALUES", 1290, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field VRTHRESHOLD1_PIN = Field.create("VRTHRESHOLD1_PIN", 1296, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field VRTHRESHOLD1_ALIGNMENTFILL_AT_14 = Field.create("VRTHRESHOLD1_ALIGNMENTFILL_AT_14", 1298, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VRTHRESHOLD2_RPMBINS = Field.create("VRTHRESHOLD2_RPMBINS", 1300, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field VRTHRESHOLD2_VALUES = Field.create("VRTHRESHOLD2_VALUES", 1306, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field VRTHRESHOLD2_PIN = Field.create("VRTHRESHOLD2_PIN", 1312, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field VRTHRESHOLD2_ALIGNMENTFILL_AT_14 = Field.create("VRTHRESHOLD2_ALIGNMENTFILL_AT_14", 1314, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMNOTE1 = Field.create("GPPWMNOTE1", 1316, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMNOTE2 = Field.create("GPPWMNOTE2", 1332, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMNOTE3 = Field.create("GPPWMNOTE3", 1348, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMNOTE4 = Field.create("GPPWMNOTE4", 1364, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field TPS2SECONDARYMIN = Field.create("TPS2SECONDARYMIN", 1380, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPS2SECONDARYMAX = Field.create("TPS2SECONDARYMAX", 1382, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field WIDEBANDONSECONDBUS = Field.create("WIDEBANDONSECONDBUS", 1384, FieldType.BIT, 0).setBaseOffset(0); + public static final Field FUELCLOSEDLOOPCORRECTIONENABLED = Field.create("FUELCLOSEDLOOPCORRECTIONENABLED", 1384, FieldType.BIT, 1).setBaseOffset(0); + public static final Field ODDFIREENGINE = Field.create("ODDFIREENGINE", 1384, FieldType.BIT, 2).setBaseOffset(0); + public static final Field BOARDUSETACHPULLUP = Field.create("BOARDUSETACHPULLUP", 1384, FieldType.BIT, 3).setBaseOffset(0); + public static final Field BOARDUSETEMPPULLUP = Field.create("BOARDUSETEMPPULLUP", 1384, FieldType.BIT, 4).setBaseOffset(0); + public static final Field YESUNDERSTANDLOCKING = Field.create("YESUNDERSTANDLOCKING", 1384, FieldType.BIT, 5).setBaseOffset(0); + public static final Field SILENTTRIGGERERROR = Field.create("SILENTTRIGGERERROR", 1384, FieldType.BIT, 6).setBaseOffset(0); + public static final Field USELINEARCLTSENSOR = Field.create("USELINEARCLTSENSOR", 1384, FieldType.BIT, 7).setBaseOffset(0); + public static final Field CANREADENABLED = Field.create("CANREADENABLED", 1384, FieldType.BIT, 8).setBaseOffset(0); + public static final Field CANWRITEENABLED = Field.create("CANWRITEENABLED", 1384, FieldType.BIT, 9).setBaseOffset(0); + public static final Field USELINEARIATSENSOR = Field.create("USELINEARIATSENSOR", 1384, FieldType.BIT, 10).setBaseOffset(0); + public static final Field BOARDUSE2STEPPULLDOWN = Field.create("BOARDUSE2STEPPULLDOWN", 1384, FieldType.BIT, 11).setBaseOffset(0); + public static final Field TACHPULSEDURATIONASDUTYCYCLE = Field.create("TACHPULSEDURATIONASDUTYCYCLE", 1384, FieldType.BIT, 12).setBaseOffset(0); + public static final Field ISALTERNATORCONTROLENABLED = Field.create("ISALTERNATORCONTROLENABLED", 1384, FieldType.BIT, 13).setBaseOffset(0); + public static final Field INVERTPRIMARYTRIGGERSIGNAL = Field.create("INVERTPRIMARYTRIGGERSIGNAL", 1384, FieldType.BIT, 14).setBaseOffset(0); + public static final Field INVERTSECONDARYTRIGGERSIGNAL = Field.create("INVERTSECONDARYTRIGGERSIGNAL", 1384, FieldType.BIT, 15).setBaseOffset(0); + public static final Field CUTFUELONHARDLIMIT = Field.create("CUTFUELONHARDLIMIT", 1384, FieldType.BIT, 16).setBaseOffset(0); + public static final Field CUTSPARKONHARDLIMIT = Field.create("CUTSPARKONHARDLIMIT", 1384, FieldType.BIT, 17).setBaseOffset(0); + public static final Field LAUNCHFUELCUTENABLE = Field.create("LAUNCHFUELCUTENABLE", 1384, FieldType.BIT, 18).setBaseOffset(0); + public static final Field LAUNCHSPARKCUTENABLE = Field.create("LAUNCHSPARKCUTENABLE", 1384, FieldType.BIT, 19).setBaseOffset(0); + public static final Field BOARDUSECRANKPULLUP = Field.create("BOARDUSECRANKPULLUP", 1384, FieldType.BIT, 20).setBaseOffset(0); + public static final Field BOARDUSECAMPULLDOWN = Field.create("BOARDUSECAMPULLDOWN", 1384, FieldType.BIT, 21).setBaseOffset(0); + public static final Field BOARDUSECAMVRPULLUP = Field.create("BOARDUSECAMVRPULLUP", 1384, FieldType.BIT, 22).setBaseOffset(0); + public static final Field BOARDUSED2PULLDOWN = Field.create("BOARDUSED2PULLDOWN", 1384, FieldType.BIT, 23).setBaseOffset(0); + public static final Field BOARDUSED3PULLDOWN = Field.create("BOARDUSED3PULLDOWN", 1384, FieldType.BIT, 24).setBaseOffset(0); + public static final Field BOARDUSED4PULLDOWN = Field.create("BOARDUSED4PULLDOWN", 1384, FieldType.BIT, 25).setBaseOffset(0); + public static final Field BOARDUSED5PULLDOWN = Field.create("BOARDUSED5PULLDOWN", 1384, FieldType.BIT, 26).setBaseOffset(0); + public static final Field VERBOSEISOTP = Field.create("VERBOSEISOTP", 1384, FieldType.BIT, 27).setBaseOffset(0); + public static final Field ENGINESNIFFERFOCUSONINPUTS = Field.create("ENGINESNIFFERFOCUSONINPUTS", 1384, FieldType.BIT, 28).setBaseOffset(0); + public static final Field LAUNCHACTIVATEINVERTED = Field.create("LAUNCHACTIVATEINVERTED", 1384, FieldType.BIT, 29).setBaseOffset(0); + public static final Field TWOSTROKE = Field.create("TWOSTROKE", 1384, FieldType.BIT, 30).setBaseOffset(0); + public static final Field SKIPPEDWHEELONCAM = Field.create("SKIPPEDWHEELONCAM", 1384, FieldType.BIT, 31).setBaseOffset(0); + public static final Field HIPOUTPUTCHANNEL = Field.create("HIPOUTPUTCHANNEL", 1388, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1389 = Field.create("ALIGNMENTFILL_AT_1389", 1389, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ACSWITCH = Field.create("ACSWITCH", 1390, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field VREFADCCHANNEL = Field.create("VREFADCCHANNEL", 1392, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field ETBNEUTRALPOSITION = Field.create("ETBNEUTRALPOSITION", 1393, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IDLEMODE = Field.create("IDLEMODE", 1394, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1395 = Field.create("ALIGNMENTFILL_AT_1395", 1395, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ISINJECTIONENABLED = Field.create("ISINJECTIONENABLED", 1396, FieldType.BIT, 0).setBaseOffset(0); + public static final Field ISIGNITIONENABLED = Field.create("ISIGNITIONENABLED", 1396, FieldType.BIT, 1).setBaseOffset(0); + public static final Field ISCYLINDERCLEANUPENABLED = Field.create("ISCYLINDERCLEANUPENABLED", 1396, FieldType.BIT, 2).setBaseOffset(0); + public static final Field COMPLEXWALLMODEL = Field.create("COMPLEXWALLMODEL", 1396, FieldType.BIT, 3).setBaseOffset(0); + public static final Field ALWAYSINSTANTRPM = Field.create("ALWAYSINSTANTRPM", 1396, FieldType.BIT, 4).setBaseOffset(0); + public static final Field ISMAPAVERAGINGENABLED = Field.create("ISMAPAVERAGINGENABLED", 1396, FieldType.BIT, 5).setBaseOffset(0); + public static final Field OVERRIDECRANKINGIACSETTING = Field.create("OVERRIDECRANKINGIACSETTING", 1396, FieldType.BIT, 6).setBaseOffset(0); + public static final Field USESEPARATEADVANCEFORIDLE = Field.create("USESEPARATEADVANCEFORIDLE", 1396, FieldType.BIT, 7).setBaseOffset(0); + public static final Field ISWAVEANALYZERENABLED = Field.create("ISWAVEANALYZERENABLED", 1396, FieldType.BIT, 8).setBaseOffset(0); + public static final Field USESEPARATEVEFORIDLE = Field.create("USESEPARATEVEFORIDLE", 1396, FieldType.BIT, 9).setBaseOffset(0); + public static final Field VERBOSETRIGGERSYNCHDETAILS = Field.create("VERBOSETRIGGERSYNCHDETAILS", 1396, FieldType.BIT, 10).setBaseOffset(0); + public static final Field ISMANUALSPINNINGMODE = Field.create("ISMANUALSPINNINGMODE", 1396, FieldType.BIT, 11).setBaseOffset(0); + public static final Field CUTFUELINACR = Field.create("CUTFUELINACR", 1396, FieldType.BIT, 12).setBaseOffset(0); + public static final Field HONDAK = Field.create("HONDAK", 1396, FieldType.BIT, 13).setBaseOffset(0); + public static final Field TWOWIREBATCHIGNITION = Field.create("TWOWIREBATCHIGNITION", 1396, FieldType.BIT, 14).setBaseOffset(0); + public static final Field USEFIXEDBAROCORRFROMMAP = Field.create("USEFIXEDBAROCORRFROMMAP", 1396, FieldType.BIT, 15).setBaseOffset(0); + public static final Field USESEPARATEADVANCEFORCRANKING = Field.create("USESEPARATEADVANCEFORCRANKING", 1396, FieldType.BIT, 16).setBaseOffset(0); + public static final Field USEADVANCECORRECTIONSFORCRANKING = Field.create("USEADVANCECORRECTIONSFORCRANKING", 1396, FieldType.BIT, 17).setBaseOffset(0); + public static final Field FLEXCRANKING = Field.create("FLEXCRANKING", 1396, FieldType.BIT, 18).setBaseOffset(0); + public static final Field USEIACPIDMULTTABLE = Field.create("USEIACPIDMULTTABLE", 1396, FieldType.BIT, 19).setBaseOffset(0); + public static final Field ISBOOSTCONTROLENABLED = Field.create("ISBOOSTCONTROLENABLED", 1396, FieldType.BIT, 20).setBaseOffset(0); + public static final Field LAUNCHSMOOTHRETARD = Field.create("LAUNCHSMOOTHRETARD", 1396, FieldType.BIT, 21).setBaseOffset(0); + public static final Field ISPHASESYNCREQUIREDFORIGNITION = Field.create("ISPHASESYNCREQUIREDFORIGNITION", 1396, FieldType.BIT, 22).setBaseOffset(0); + public static final Field USECLTBASEDRPMLIMIT = Field.create("USECLTBASEDRPMLIMIT", 1396, FieldType.BIT, 23).setBaseOffset(0); + public static final Field FORCEO2HEATING = Field.create("FORCEO2HEATING", 1396, FieldType.BIT, 24).setBaseOffset(0); + public static final Field INVERTVVTCONTROLINTAKE = Field.create("INVERTVVTCONTROLINTAKE", 1396, FieldType.BIT, 25).setBaseOffset(0); + public static final Field INVERTVVTCONTROLEXHAUST = Field.create("INVERTVVTCONTROLEXHAUST", 1396, FieldType.BIT, 26).setBaseOffset(0); + public static final Field USEBIQUADONAUXSPEEDSENSORS = Field.create("USEBIQUADONAUXSPEEDSENSORS", 1396, FieldType.BIT, 27).setBaseOffset(0); + public static final Field SDTRIGGERLOG = Field.create("SDTRIGGERLOG", 1396, FieldType.BIT, 28).setBaseOffset(0); + public static final Field ALSACTIVATEINVERTED = Field.create("ALSACTIVATEINVERTED", 1396, FieldType.BIT, 29).setBaseOffset(0); + public static final Field STEPPER_DC_USE_TWO_WIRES = Field.create("STEPPER_DC_USE_TWO_WIRES", 1396, FieldType.BIT, 30).setBaseOffset(0); + public static final Field WATCHOUTFORLINEARTIME = Field.create("WATCHOUTFORLINEARTIME", 1396, FieldType.BIT, 31).setBaseOffset(0); + public static final Field ENGINECHARTSIZE = Field.create("ENGINECHARTSIZE", 1400, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TURBOSPEEDSENSORMULTIPLIER = Field.create("TURBOSPEEDSENSORMULTIPLIER", 1404, FieldType.FLOAT).setBaseOffset(0); + public static final Field CAMINPUTSDEBUG1 = Field.create("CAMINPUTSDEBUG1", 1408, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CAMINPUTSDEBUG2 = Field.create("CAMINPUTSDEBUG2", 1410, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CAMINPUTSDEBUG3 = Field.create("CAMINPUTSDEBUG3", 1412, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CAMINPUTSDEBUG4 = Field.create("CAMINPUTSDEBUG4", 1414, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ACIDLERPMTARGET = Field.create("ACIDLERPMTARGET", 1416, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field WARNINGPERIOD = Field.create("WARNINGPERIOD", 1418, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field KNOCKDETECTIONWINDOWSTART = Field.create("KNOCKDETECTIONWINDOWSTART", 1420, FieldType.FLOAT).setBaseOffset(0); + public static final Field KNOCKDETECTIONWINDOWEND = Field.create("KNOCKDETECTIONWINDOWEND", 1424, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLESTEPPERREACTIONTIME = Field.create("IDLESTEPPERREACTIONTIME", 1428, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLESTEPPERTOTALSTEPS = Field.create("IDLESTEPPERTOTALSTEPS", 1432, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field NOACCELAFTERHARDLIMITPERIODSECS = Field.create("NOACCELAFTERHARDLIMITPERIODSECS", 1436, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAPAVERAGINGSCHEDULINGATINDEX = Field.create("MAPAVERAGINGSCHEDULINGATINDEX", 1440, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TACHPULSEDURACTIONMS = Field.create("TACHPULSEDURACTIONMS", 1444, FieldType.FLOAT).setBaseOffset(0); + public static final Field WWAETAU = Field.create("WWAETAU", 1448, FieldType.FLOAT).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_PFACTOR = Field.create("ALTERNATORCONTROL_PFACTOR", 1452, FieldType.FLOAT).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_IFACTOR = Field.create("ALTERNATORCONTROL_IFACTOR", 1456, FieldType.FLOAT).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_DFACTOR = Field.create("ALTERNATORCONTROL_DFACTOR", 1460, FieldType.FLOAT).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_OFFSET = Field.create("ALTERNATORCONTROL_OFFSET", 1464, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_PERIODMS = Field.create("ALTERNATORCONTROL_PERIODMS", 1466, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_MINVALUE = Field.create("ALTERNATORCONTROL_MINVALUE", 1468, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORCONTROL_MAXVALUE = Field.create("ALTERNATORCONTROL_MAXVALUE", 1470, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETB_PFACTOR = Field.create("ETB_PFACTOR", 1472, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETB_IFACTOR = Field.create("ETB_IFACTOR", 1476, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETB_DFACTOR = Field.create("ETB_DFACTOR", 1480, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETB_OFFSET = Field.create("ETB_OFFSET", 1484, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETB_PERIODMS = Field.create("ETB_PERIODMS", 1486, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETB_MINVALUE = Field.create("ETB_MINVALUE", 1488, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETB_MAXVALUE = Field.create("ETB_MAXVALUE", 1490, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERINPUTDEBUGPINS1 = Field.create("TRIGGERINPUTDEBUGPINS1", 1492, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERINPUTDEBUGPINS2 = Field.create("TRIGGERINPUTDEBUGPINS2", 1494, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field AIRTAPERRPMRANGE = Field.create("AIRTAPERRPMRANGE", 1496, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TURBOSPEEDSENSORINPUTPIN = Field.create("TURBOSPEEDSENSORINPUTPIN", 1498, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TPS2MIN = Field.create("TPS2MIN", 1500, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPS2MAX = Field.create("TPS2MAX", 1502, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field STARTERCONTROLPIN = Field.create("STARTERCONTROLPIN", 1504, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field STARTSTOPBUTTONMODE = Field.create("STARTSTOPBUTTONMODE", 1506, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1507 = Field.create("ALIGNMENTFILL_AT_1507", 1507, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33816_FLAG0 = Field.create("MC33816_FLAG0", 1508, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TACHPULSEPERREV = Field.create("TACHPULSEPERREV", 1510, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1511 = Field.create("ALIGNMENTFILL_AT_1511", 1511, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAPERRORDETECTIONTOOLOW = Field.create("MAPERRORDETECTIONTOOLOW", 1512, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAPERRORDETECTIONTOOHIGH = Field.create("MAPERRORDETECTIONTOOHIGH", 1516, FieldType.FLOAT).setBaseOffset(0); + public static final Field MULTISPARKSPARKDURATION = Field.create("MULTISPARKSPARKDURATION", 1520, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field MULTISPARKDWELL = Field.create("MULTISPARKDWELL", 1522, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field IDLERPMPID_PFACTOR = Field.create("IDLERPMPID_PFACTOR", 1524, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLERPMPID_IFACTOR = Field.create("IDLERPMPID_IFACTOR", 1528, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLERPMPID_DFACTOR = Field.create("IDLERPMPID_DFACTOR", 1532, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLERPMPID_OFFSET = Field.create("IDLERPMPID_OFFSET", 1536, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLERPMPID_PERIODMS = Field.create("IDLERPMPID_PERIODMS", 1538, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLERPMPID_MINVALUE = Field.create("IDLERPMPID_MINVALUE", 1540, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLERPMPID_MAXVALUE = Field.create("IDLERPMPID_MAXVALUE", 1542, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field WWAEBETA = Field.create("WWAEBETA", 1544, FieldType.FLOAT).setBaseOffset(0); + public static final Field BINARYSERIALTXPIN = Field.create("BINARYSERIALTXPIN", 1548, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field BINARYSERIALRXPIN = Field.create("BINARYSERIALRXPIN", 1550, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field AUXVALVES1 = Field.create("AUXVALVES1", 1552, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field AUXVALVES2 = Field.create("AUXVALVES2", 1554, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TCUUPSHIFTBUTTONPIN = Field.create("TCUUPSHIFTBUTTONPIN", 1556, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCUDOWNSHIFTBUTTONPIN = Field.create("TCUDOWNSHIFTBUTTONPIN", 1558, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEPEDALUPVOLTAGE = Field.create("THROTTLEPEDALUPVOLTAGE", 1560, FieldType.FLOAT).setBaseOffset(0); + public static final Field THROTTLEPEDALWOTVOLTAGE = Field.create("THROTTLEPEDALWOTVOLTAGE", 1564, FieldType.FLOAT).setBaseOffset(0); + public static final Field STARTUPFUELPUMPDURATION = Field.create("STARTUPFUELPUMPDURATION", 1568, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLEPIDRPMDEADZONE = Field.create("IDLEPIDRPMDEADZONE", 1570, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TARGETVBATT = Field.create("TARGETVBATT", 1572, FieldType.FLOAT).setBaseOffset(0); + public static final Field MC33810DISABLERECOVERYMODE = Field.create("MC33810DISABLERECOVERYMODE", 1576, FieldType.BIT, 0).setBaseOffset(0); + public static final Field MC33810GPGD0MODE = Field.create("MC33810GPGD0MODE", 1576, FieldType.BIT, 1).setBaseOffset(0); + public static final Field MC33810GPGD1MODE = Field.create("MC33810GPGD1MODE", 1576, FieldType.BIT, 2).setBaseOffset(0); + public static final Field MC33810GPGD2MODE = Field.create("MC33810GPGD2MODE", 1576, FieldType.BIT, 3).setBaseOffset(0); + public static final Field MC33810GPGD3MODE = Field.create("MC33810GPGD3MODE", 1576, FieldType.BIT, 4).setBaseOffset(0); + public static final Field AFTERCRANKINGIACTAPERDURATION = Field.create("AFTERCRANKINGIACTAPERDURATION", 1580, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 1582, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXSERIALTXPIN = Field.create("AUXSERIALTXPIN", 1584, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field AUXSERIALRXPIN = Field.create("AUXSERIALRXPIN", 1586, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ACCELEROMETERCSPIN = Field.create("ACCELEROMETERCSPIN", 1588, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TPSACCELLOOKBACK = Field.create("TPSACCELLOOKBACK", 1590, FieldType.INT8).setScale(0.05).setBaseOffset(0); + public static final Field COASTINGFUELCUTVSSLOW = Field.create("COASTINGFUELCUTVSSLOW", 1591, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field COASTINGFUELCUTVSSHIGH = Field.create("COASTINGFUELCUTVSSHIGH", 1592, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field NOFUELTRIMAFTERDFCOTIME = Field.create("NOFUELTRIMAFTERDFCOTIME", 1593, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1594 = Field.create("ALIGNMENTFILL_AT_1594", 1594, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TPSACCELENRICHMENTTHRESHOLD = Field.create("TPSACCELENRICHMENTTHRESHOLD", 1596, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXSPEEDSENSORINPUTPIN1 = Field.create("AUXSPEEDSENSORINPUTPIN1", 1600, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXSPEEDSENSORINPUTPIN2 = Field.create("AUXSPEEDSENSORINPUTPIN2", 1602, FieldType.INT16, brain_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TOTALGEARSCOUNT = Field.create("TOTALGEARSCOUNT", 1604, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONTIMINGMODE = Field.create("INJECTIONTIMINGMODE", 1605, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] debug_mode_e = {"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"}; - public static final Field DEBUGMODE = Field.create("DEBUGMODE", 1538, FieldType.INT8, debug_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field FAN1EXTRAIDLE = Field.create("FAN1EXTRAIDLE", 1539, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UARTCONSOLESERIALSPEED = Field.create("UARTCONSOLESERIALSPEED", 1540, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TPSDECELENLEANMENTTHRESHOLD = Field.create("TPSDECELENLEANMENTTHRESHOLD", 1544, FieldType.FLOAT).setBaseOffset(0); - public static final Field TPSDECELENLEANMENTMULTIPLIER = Field.create("TPSDECELENLEANMENTMULTIPLIER", 1548, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXSERIALSPEED = Field.create("AUXSERIALSPEED", 1552, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEPEDALSECONDARYUPVOLTAGE = Field.create("THROTTLEPEDALSECONDARYUPVOLTAGE", 1556, FieldType.FLOAT).setBaseOffset(0); - public static final Field THROTTLEPEDALSECONDARYWOTVOLTAGE = Field.create("THROTTLEPEDALSECONDARYWOTVOLTAGE", 1560, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGMODE = Field.create("DEBUGMODE", 1606, FieldType.INT8, debug_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field FAN1EXTRAIDLE = Field.create("FAN1EXTRAIDLE", 1607, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UARTCONSOLESERIALSPEED = Field.create("UARTCONSOLESERIALSPEED", 1608, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TPSDECELENLEANMENTTHRESHOLD = Field.create("TPSDECELENLEANMENTTHRESHOLD", 1612, FieldType.FLOAT).setBaseOffset(0); + public static final Field TPSDECELENLEANMENTMULTIPLIER = Field.create("TPSDECELENLEANMENTMULTIPLIER", 1616, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXSERIALSPEED = Field.create("AUXSERIALSPEED", 1620, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEPEDALSECONDARYUPVOLTAGE = Field.create("THROTTLEPEDALSECONDARYUPVOLTAGE", 1624, FieldType.FLOAT).setBaseOffset(0); + public static final Field THROTTLEPEDALSECONDARYWOTVOLTAGE = Field.create("THROTTLEPEDALSECONDARYWOTVOLTAGE", 1628, FieldType.FLOAT).setBaseOffset(0); public static final String[] can_baudrate_e = {"50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps"}; - public static final Field CANBAUDRATE = Field.create("CANBAUDRATE", 1564, FieldType.INT8, can_baudrate_e).setScale(1.0).setBaseOffset(0); - public static final Field VEOVERRIDEMODE = Field.create("VEOVERRIDEMODE", 1565, FieldType.INT8, ve_override_e).setScale(1.0).setBaseOffset(0); - public static final Field CAN2BAUDRATE = Field.create("CAN2BAUDRATE", 1566, FieldType.INT8, can_baudrate_e).setScale(1.0).setBaseOffset(0); + public static final Field CANBAUDRATE = Field.create("CANBAUDRATE", 1632, FieldType.INT8, can_baudrate_e).setScale(1.0).setBaseOffset(0); + public static final Field VEOVERRIDEMODE = Field.create("VEOVERRIDEMODE", 1633, FieldType.INT8, ve_override_e).setScale(1.0).setBaseOffset(0); + public static final Field CAN2BAUDRATE = Field.create("CAN2BAUDRATE", 1634, FieldType.INT8, can_baudrate_e).setScale(1.0).setBaseOffset(0); public static final String[] load_override_e = {"None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %"}; - public static final Field AFROVERRIDEMODE = Field.create("AFROVERRIDEMODE", 1567, FieldType.INT8, load_override_e).setScale(1.0).setBaseOffset(0); - public static final Field MC33_HPFP_I_PEAK = Field.create("MC33_HPFP_I_PEAK", 1568, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field MC33_HPFP_I_HOLD = Field.create("MC33_HPFP_I_HOLD", 1569, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field MC33_HPFP_I_HOLD_OFF = Field.create("MC33_HPFP_I_HOLD_OFF", 1570, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33_HPFP_MAX_HOLD = Field.create("MC33_HPFP_MAX_HOLD", 1571, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERDCINVERTEDPINS = Field.create("STEPPERDCINVERTEDPINS", 1572, FieldType.BIT, 0).setBaseOffset(0); - public static final Field CANOPENBLT = Field.create("CANOPENBLT", 1572, FieldType.BIT, 1).setBaseOffset(0); - public static final Field CAN2OPENBLT = Field.create("CAN2OPENBLT", 1572, FieldType.BIT, 2).setBaseOffset(0); - public static final Field INJECTORFLOWASMASSFLOW = Field.create("INJECTORFLOWASMASSFLOW", 1572, FieldType.BIT, 3).setBaseOffset(0); - public static final Field BOARDUSECANTERMINATOR = Field.create("BOARDUSECANTERMINATOR", 1572, FieldType.BIT, 4).setBaseOffset(0); - public static final Field KLINEDOHONDASEND = Field.create("KLINEDOHONDASEND", 1572, FieldType.BIT, 5).setBaseOffset(0); - public static final Field CAN1LISTENMODE = Field.create("CAN1LISTENMODE", 1572, FieldType.BIT, 6).setBaseOffset(0); - public static final Field CAN2LISTENMODE = Field.create("CAN2LISTENMODE", 1572, FieldType.BIT, 7).setBaseOffset(0); - public static final Field CAMDECODER2JZPOSITION = Field.create("CAMDECODER2JZPOSITION", 1576, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33810MAXDWELLTIMER = Field.create("MC33810MAXDWELLTIMER", 1577, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BENCHTESTONTIME = Field.create("BENCHTESTONTIME", 1578, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONRESTORETPS = Field.create("LAMBDAPROTECTIONRESTORETPS", 1580, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAPROTECTIONRESTORELOAD = Field.create("LAMBDAPROTECTIONRESTORELOAD", 1581, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field LAUNCHACTIVATEPINMODE = Field.create("LAUNCHACTIVATEPINMODE", 1582, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1583 = Field.create("ALIGNMENTFILL_AT_1583", 1583, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CAN2TXPIN = Field.create("CAN2TXPIN", 1584, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field CAN2RXPIN = Field.create("CAN2RXPIN", 1586, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field STARTERCONTROLPINMODE = Field.create("STARTERCONTROLPINMODE", 1588, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field WASTEGATEPOSITIONSENSOR = Field.create("WASTEGATEPOSITIONSENSOR", 1589, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNOVERRIDEMODE = Field.create("IGNOVERRIDEMODE", 1590, FieldType.INT8, load_override_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORPRESSURETYPE = Field.create("INJECTORPRESSURETYPE", 1591, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPVALVEPIN = Field.create("HPFPVALVEPIN", 1592, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field HPFPVALVEPINMODE = Field.create("HPFPVALVEPINMODE", 1594, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1595 = Field.create("ALIGNMENTFILL_AT_1595", 1595, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCUTPRESSURE = Field.create("BOOSTCUTPRESSURE", 1596, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEBINS = Field.create("TCHARGEBINS", 1600, FieldType.INT8).setScale(5.0).setBaseOffset(0); - public static final Field TCHARGEVALUES = Field.create("TCHARGEVALUES", 1616, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field FIXEDTIMING = Field.create("FIXEDTIMING", 1632, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAPLOWVALUEVOLTAGE = Field.create("MAPLOWVALUEVOLTAGE", 1636, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAPHIGHVALUEVOLTAGE = Field.create("MAPHIGHVALUEVOLTAGE", 1640, FieldType.FLOAT).setBaseOffset(0); - public static final Field EGOVALUESHIFT = Field.create("EGOVALUESHIFT", 1644, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTPINS1 = Field.create("VVTPINS1", 1648, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field VVTPINS2 = Field.create("VVTPINS2", 1650, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field VVTPINS3 = Field.create("VVTPINS3", 1652, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field VVTPINS4 = Field.create("VVTPINS4", 1654, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field SDCARDCSPINMODE = Field.create("SDCARDCSPINMODE", 1656, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_1657 = Field.create("ALIGNMENTFILL_AT_1657", 1657, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CRANKINGIACPOSITION = Field.create("CRANKINGIACPOSITION", 1660, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TCHARGEMINRPMMINTPS = Field.create("TCHARGEMINRPMMINTPS", 1664, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEMINRPMMAXTPS = Field.create("TCHARGEMINRPMMAXTPS", 1668, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEMAXRPMMINTPS = Field.create("TCHARGEMAXRPMMINTPS", 1672, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEMAXRPMMAXTPS = Field.create("TCHARGEMAXRPMMAXTPS", 1676, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTOUTPUTFREQUENCY = Field.create("VVTOUTPUTFREQUENCY", 1680, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MINIMUMIGNITIONTIMING = Field.create("MINIMUMIGNITIONTIMING", 1682, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXIMUMIGNITIONTIMING = Field.create("MAXIMUMIGNITIONTIMING", 1683, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORPWMFREQUENCY = Field.create("ALTERNATORPWMFREQUENCY", 1684, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field AFROVERRIDEMODE = Field.create("AFROVERRIDEMODE", 1635, FieldType.INT8, load_override_e).setScale(1.0).setBaseOffset(0); + public static final Field MC33_HPFP_I_PEAK = Field.create("MC33_HPFP_I_PEAK", 1636, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field MC33_HPFP_I_HOLD = Field.create("MC33_HPFP_I_HOLD", 1637, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field MC33_HPFP_I_HOLD_OFF = Field.create("MC33_HPFP_I_HOLD_OFF", 1638, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33_HPFP_MAX_HOLD = Field.create("MC33_HPFP_MAX_HOLD", 1639, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERDCINVERTEDPINS = Field.create("STEPPERDCINVERTEDPINS", 1640, FieldType.BIT, 0).setBaseOffset(0); + public static final Field CANOPENBLT = Field.create("CANOPENBLT", 1640, FieldType.BIT, 1).setBaseOffset(0); + public static final Field CAN2OPENBLT = Field.create("CAN2OPENBLT", 1640, FieldType.BIT, 2).setBaseOffset(0); + public static final Field INJECTORFLOWASMASSFLOW = Field.create("INJECTORFLOWASMASSFLOW", 1640, FieldType.BIT, 3).setBaseOffset(0); + public static final Field BOARDUSECANTERMINATOR = Field.create("BOARDUSECANTERMINATOR", 1640, FieldType.BIT, 4).setBaseOffset(0); + public static final Field KLINEDOHONDASEND = Field.create("KLINEDOHONDASEND", 1640, FieldType.BIT, 5).setBaseOffset(0); + public static final Field CAN1LISTENMODE = Field.create("CAN1LISTENMODE", 1640, FieldType.BIT, 6).setBaseOffset(0); + public static final Field CAN2LISTENMODE = Field.create("CAN2LISTENMODE", 1640, FieldType.BIT, 7).setBaseOffset(0); + public static final Field CAMDECODER2JZPOSITION = Field.create("CAMDECODER2JZPOSITION", 1644, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33810MAXDWELLTIMER = Field.create("MC33810MAXDWELLTIMER", 1645, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BENCHTESTONTIME = Field.create("BENCHTESTONTIME", 1646, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONRESTORETPS = Field.create("LAMBDAPROTECTIONRESTORETPS", 1648, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAPROTECTIONRESTORELOAD = Field.create("LAMBDAPROTECTIONRESTORELOAD", 1649, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field LAUNCHACTIVATEPINMODE = Field.create("LAUNCHACTIVATEPINMODE", 1650, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1651 = Field.create("ALIGNMENTFILL_AT_1651", 1651, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CAN2TXPIN = Field.create("CAN2TXPIN", 1652, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field CAN2RXPIN = Field.create("CAN2RXPIN", 1654, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field STARTERCONTROLPINMODE = Field.create("STARTERCONTROLPINMODE", 1656, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field WASTEGATEPOSITIONSENSOR = Field.create("WASTEGATEPOSITIONSENSOR", 1657, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNOVERRIDEMODE = Field.create("IGNOVERRIDEMODE", 1658, FieldType.INT8, load_override_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORPRESSURETYPE = Field.create("INJECTORPRESSURETYPE", 1659, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPVALVEPIN = Field.create("HPFPVALVEPIN", 1660, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field HPFPVALVEPINMODE = Field.create("HPFPVALVEPINMODE", 1662, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1663 = Field.create("ALIGNMENTFILL_AT_1663", 1663, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCUTPRESSURE = Field.create("BOOSTCUTPRESSURE", 1664, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEBINS = Field.create("TCHARGEBINS", 1668, FieldType.INT8).setScale(5.0).setBaseOffset(0); + public static final Field TCHARGEVALUES = Field.create("TCHARGEVALUES", 1684, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field FIXEDTIMING = Field.create("FIXEDTIMING", 1700, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAPLOWVALUEVOLTAGE = Field.create("MAPLOWVALUEVOLTAGE", 1704, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAPHIGHVALUEVOLTAGE = Field.create("MAPHIGHVALUEVOLTAGE", 1708, FieldType.FLOAT).setBaseOffset(0); + public static final Field EGOVALUESHIFT = Field.create("EGOVALUESHIFT", 1712, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTPINS1 = Field.create("VVTPINS1", 1716, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field VVTPINS2 = Field.create("VVTPINS2", 1718, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field VVTPINS3 = Field.create("VVTPINS3", 1720, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field VVTPINS4 = Field.create("VVTPINS4", 1722, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field SDCARDCSPINMODE = Field.create("SDCARDCSPINMODE", 1724, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_1725 = Field.create("ALIGNMENTFILL_AT_1725", 1725, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CRANKINGIACPOSITION = Field.create("CRANKINGIACPOSITION", 1728, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TCHARGEMINRPMMINTPS = Field.create("TCHARGEMINRPMMINTPS", 1732, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEMINRPMMAXTPS = Field.create("TCHARGEMINRPMMAXTPS", 1736, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEMAXRPMMINTPS = Field.create("TCHARGEMAXRPMMINTPS", 1740, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEMAXRPMMAXTPS = Field.create("TCHARGEMAXRPMMAXTPS", 1744, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTOUTPUTFREQUENCY = Field.create("VVTOUTPUTFREQUENCY", 1748, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MINIMUMIGNITIONTIMING = Field.create("MINIMUMIGNITIONTIMING", 1750, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXIMUMIGNITIONTIMING = Field.create("MAXIMUMIGNITIONTIMING", 1751, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORPWMFREQUENCY = Field.create("ALTERNATORPWMFREQUENCY", 1752, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final String[] vvt_mode_e = {"Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "Mitsu 4G69", "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", "Ford Coyote", "Mitsu 6G72"}; - public static final Field VVTMODE1 = Field.create("VVTMODE1", 1688, FieldType.INT8, vvt_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field VVTMODE2 = Field.create("VVTMODE2", 1689, FieldType.INT8, vvt_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field FAN2EXTRAIDLE = Field.create("FAN2EXTRAIDLE", 1690, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PRIMINGDELAY = Field.create("PRIMINGDELAY", 1691, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field AUXANALOGINPUTS1 = Field.create("AUXANALOGINPUTS1", 1692, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS2 = Field.create("AUXANALOGINPUTS2", 1693, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS3 = Field.create("AUXANALOGINPUTS3", 1694, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS4 = Field.create("AUXANALOGINPUTS4", 1695, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS5 = Field.create("AUXANALOGINPUTS5", 1696, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS6 = Field.create("AUXANALOGINPUTS6", 1697, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS7 = Field.create("AUXANALOGINPUTS7", 1698, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXANALOGINPUTS8 = Field.create("AUXANALOGINPUTS8", 1699, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS1 = Field.create("TRAILINGCOILPINS1", 1700, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS2 = Field.create("TRAILINGCOILPINS2", 1702, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS3 = Field.create("TRAILINGCOILPINS3", 1704, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS4 = Field.create("TRAILINGCOILPINS4", 1706, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS5 = Field.create("TRAILINGCOILPINS5", 1708, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS6 = Field.create("TRAILINGCOILPINS6", 1710, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS7 = Field.create("TRAILINGCOILPINS7", 1712, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS8 = Field.create("TRAILINGCOILPINS8", 1714, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS9 = Field.create("TRAILINGCOILPINS9", 1716, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS10 = Field.create("TRAILINGCOILPINS10", 1718, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS11 = Field.create("TRAILINGCOILPINS11", 1720, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TRAILINGCOILPINS12 = Field.create("TRAILINGCOILPINS12", 1722, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TLE8888MODE = Field.create("TLE8888MODE", 1724, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ACCELEROMETERCSPINMODE = Field.create("ACCELEROMETERCSPINMODE", 1725, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORCOMPENSATIONMODE = Field.create("INJECTORCOMPENSATIONMODE", 1726, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FAN2PINMODE = Field.create("FAN2PINMODE", 1727, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field FUELREFERENCEPRESSURE = Field.create("FUELREFERENCEPRESSURE", 1728, FieldType.FLOAT).setBaseOffset(0); - public static final Field POSTCRANKINGFACTOR = Field.create("POSTCRANKINGFACTOR", 1732, FieldType.FLOAT).setBaseOffset(0); - public static final Field POSTCRANKINGDURATIONBINS = Field.create("POSTCRANKINGDURATIONBINS", 1876, FieldType.FLOAT).setBaseOffset(0); - public static final Field POSTCRANKINGCLTBINS = Field.create("POSTCRANKINGCLTBINS", 1900, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_TEMPC_1 = Field.create("AUXTEMPSENSOR1_TEMPC_1", 1924, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_TEMPC_2 = Field.create("AUXTEMPSENSOR1_TEMPC_2", 1928, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_TEMPC_3 = Field.create("AUXTEMPSENSOR1_TEMPC_3", 1932, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_RESISTANCE_1 = Field.create("AUXTEMPSENSOR1_RESISTANCE_1", 1936, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_RESISTANCE_2 = Field.create("AUXTEMPSENSOR1_RESISTANCE_2", 1940, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_RESISTANCE_3 = Field.create("AUXTEMPSENSOR1_RESISTANCE_3", 1944, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_BIAS_RESISTOR = Field.create("AUXTEMPSENSOR1_BIAS_RESISTOR", 1948, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_ADCCHANNEL = Field.create("AUXTEMPSENSOR1_ADCCHANNEL", 1952, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXTEMPSENSOR1_ALIGNMENTFILL_AT_29 = Field.create("AUXTEMPSENSOR1_ALIGNMENTFILL_AT_29", 1953, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_TEMPC_1 = Field.create("AUXTEMPSENSOR2_TEMPC_1", 1956, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_TEMPC_2 = Field.create("AUXTEMPSENSOR2_TEMPC_2", 1960, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_TEMPC_3 = Field.create("AUXTEMPSENSOR2_TEMPC_3", 1964, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_RESISTANCE_1 = Field.create("AUXTEMPSENSOR2_RESISTANCE_1", 1968, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_RESISTANCE_2 = Field.create("AUXTEMPSENSOR2_RESISTANCE_2", 1972, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_RESISTANCE_3 = Field.create("AUXTEMPSENSOR2_RESISTANCE_3", 1976, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_BIAS_RESISTOR = Field.create("AUXTEMPSENSOR2_BIAS_RESISTOR", 1980, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_ADCCHANNEL = Field.create("AUXTEMPSENSOR2_ADCCHANNEL", 1984, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXTEMPSENSOR2_ALIGNMENTFILL_AT_29 = Field.create("AUXTEMPSENSOR2_ALIGNMENTFILL_AT_29", 1985, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCKSAMPLINGDURATION = Field.create("KNOCKSAMPLINGDURATION", 1988, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBFREQ = Field.create("ETBFREQ", 1990, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_PFACTOR = Field.create("ETBWASTEGATEPID_PFACTOR", 1992, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_IFACTOR = Field.create("ETBWASTEGATEPID_IFACTOR", 1996, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_DFACTOR = Field.create("ETBWASTEGATEPID_DFACTOR", 2000, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_OFFSET = Field.create("ETBWASTEGATEPID_OFFSET", 2004, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_PERIODMS = Field.create("ETBWASTEGATEPID_PERIODMS", 2006, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_MINVALUE = Field.create("ETBWASTEGATEPID_MINVALUE", 2008, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBWASTEGATEPID_MAXVALUE = Field.create("ETBWASTEGATEPID_MAXVALUE", 2010, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTMODE1 = Field.create("VVTMODE1", 1756, FieldType.INT8, vvt_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field VVTMODE2 = Field.create("VVTMODE2", 1757, FieldType.INT8, vvt_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field FAN2EXTRAIDLE = Field.create("FAN2EXTRAIDLE", 1758, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PRIMINGDELAY = Field.create("PRIMINGDELAY", 1759, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field AUXANALOGINPUTS1 = Field.create("AUXANALOGINPUTS1", 1760, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS2 = Field.create("AUXANALOGINPUTS2", 1761, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS3 = Field.create("AUXANALOGINPUTS3", 1762, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS4 = Field.create("AUXANALOGINPUTS4", 1763, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS5 = Field.create("AUXANALOGINPUTS5", 1764, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS6 = Field.create("AUXANALOGINPUTS6", 1765, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS7 = Field.create("AUXANALOGINPUTS7", 1766, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXANALOGINPUTS8 = Field.create("AUXANALOGINPUTS8", 1767, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS1 = Field.create("TRAILINGCOILPINS1", 1768, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS2 = Field.create("TRAILINGCOILPINS2", 1770, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS3 = Field.create("TRAILINGCOILPINS3", 1772, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS4 = Field.create("TRAILINGCOILPINS4", 1774, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS5 = Field.create("TRAILINGCOILPINS5", 1776, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS6 = Field.create("TRAILINGCOILPINS6", 1778, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS7 = Field.create("TRAILINGCOILPINS7", 1780, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS8 = Field.create("TRAILINGCOILPINS8", 1782, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS9 = Field.create("TRAILINGCOILPINS9", 1784, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS10 = Field.create("TRAILINGCOILPINS10", 1786, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS11 = Field.create("TRAILINGCOILPINS11", 1788, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGCOILPINS12 = Field.create("TRAILINGCOILPINS12", 1790, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TLE8888MODE = Field.create("TLE8888MODE", 1792, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ACCELEROMETERCSPINMODE = Field.create("ACCELEROMETERCSPINMODE", 1793, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORCOMPENSATIONMODE = Field.create("INJECTORCOMPENSATIONMODE", 1794, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FAN2PINMODE = Field.create("FAN2PINMODE", 1795, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELREFERENCEPRESSURE = Field.create("FUELREFERENCEPRESSURE", 1796, FieldType.FLOAT).setBaseOffset(0); + public static final Field POSTCRANKINGFACTOR = Field.create("POSTCRANKINGFACTOR", 1800, FieldType.FLOAT).setBaseOffset(0); + public static final Field POSTCRANKINGDURATIONBINS = Field.create("POSTCRANKINGDURATIONBINS", 1944, FieldType.FLOAT).setBaseOffset(0); + public static final Field POSTCRANKINGCLTBINS = Field.create("POSTCRANKINGCLTBINS", 1968, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_TEMPC_1 = Field.create("AUXTEMPSENSOR1_TEMPC_1", 1992, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_TEMPC_2 = Field.create("AUXTEMPSENSOR1_TEMPC_2", 1996, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_TEMPC_3 = Field.create("AUXTEMPSENSOR1_TEMPC_3", 2000, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_RESISTANCE_1 = Field.create("AUXTEMPSENSOR1_RESISTANCE_1", 2004, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_RESISTANCE_2 = Field.create("AUXTEMPSENSOR1_RESISTANCE_2", 2008, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_RESISTANCE_3 = Field.create("AUXTEMPSENSOR1_RESISTANCE_3", 2012, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_BIAS_RESISTOR = Field.create("AUXTEMPSENSOR1_BIAS_RESISTOR", 2016, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_ADCCHANNEL = Field.create("AUXTEMPSENSOR1_ADCCHANNEL", 2020, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXTEMPSENSOR1_ALIGNMENTFILL_AT_29 = Field.create("AUXTEMPSENSOR1_ALIGNMENTFILL_AT_29", 2021, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_TEMPC_1 = Field.create("AUXTEMPSENSOR2_TEMPC_1", 2024, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_TEMPC_2 = Field.create("AUXTEMPSENSOR2_TEMPC_2", 2028, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_TEMPC_3 = Field.create("AUXTEMPSENSOR2_TEMPC_3", 2032, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_RESISTANCE_1 = Field.create("AUXTEMPSENSOR2_RESISTANCE_1", 2036, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_RESISTANCE_2 = Field.create("AUXTEMPSENSOR2_RESISTANCE_2", 2040, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_RESISTANCE_3 = Field.create("AUXTEMPSENSOR2_RESISTANCE_3", 2044, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_BIAS_RESISTOR = Field.create("AUXTEMPSENSOR2_BIAS_RESISTOR", 2048, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_ADCCHANNEL = Field.create("AUXTEMPSENSOR2_ADCCHANNEL", 2052, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXTEMPSENSOR2_ALIGNMENTFILL_AT_29 = Field.create("AUXTEMPSENSOR2_ALIGNMENTFILL_AT_29", 2053, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field KNOCKSAMPLINGDURATION = Field.create("KNOCKSAMPLINGDURATION", 2056, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBFREQ = Field.create("ETBFREQ", 2058, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_PFACTOR = Field.create("ETBWASTEGATEPID_PFACTOR", 2060, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_IFACTOR = Field.create("ETBWASTEGATEPID_IFACTOR", 2064, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_DFACTOR = Field.create("ETBWASTEGATEPID_DFACTOR", 2068, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_OFFSET = Field.create("ETBWASTEGATEPID_OFFSET", 2072, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_PERIODMS = Field.create("ETBWASTEGATEPID_PERIODMS", 2074, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_MINVALUE = Field.create("ETBWASTEGATEPID_MINVALUE", 2076, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBWASTEGATEPID_MAXVALUE = Field.create("ETBWASTEGATEPID_MAXVALUE", 2078, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final String[] stepper_num_micro_steps_e = {"Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step"}; - public static final Field STEPPERNUMMICROSTEPS = Field.create("STEPPERNUMMICROSTEPS", 2012, FieldType.INT8, stepper_num_micro_steps_e).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERMINDUTYCYCLE = Field.create("STEPPERMINDUTYCYCLE", 2013, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERMAXDUTYCYCLE = Field.create("STEPPERMAXDUTYCYCLE", 2014, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SDCARDSPIDEVICE = Field.create("SDCARDSPIDEVICE", 2015, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER1 = Field.create("TIMING_OFFSET_CYLINDER1", 2016, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER2 = Field.create("TIMING_OFFSET_CYLINDER2", 2020, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER3 = Field.create("TIMING_OFFSET_CYLINDER3", 2024, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER4 = Field.create("TIMING_OFFSET_CYLINDER4", 2028, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER5 = Field.create("TIMING_OFFSET_CYLINDER5", 2032, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER6 = Field.create("TIMING_OFFSET_CYLINDER6", 2036, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER7 = Field.create("TIMING_OFFSET_CYLINDER7", 2040, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER8 = Field.create("TIMING_OFFSET_CYLINDER8", 2044, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER9 = Field.create("TIMING_OFFSET_CYLINDER9", 2048, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER10 = Field.create("TIMING_OFFSET_CYLINDER10", 2052, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER11 = Field.create("TIMING_OFFSET_CYLINDER11", 2056, FieldType.FLOAT).setBaseOffset(0); - public static final Field TIMING_OFFSET_CYLINDER12 = Field.create("TIMING_OFFSET_CYLINDER12", 2060, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLEPIDACTIVATIONTIME = Field.create("IDLEPIDACTIVATIONTIME", 2064, FieldType.FLOAT).setBaseOffset(0); + public static final Field STEPPERNUMMICROSTEPS = Field.create("STEPPERNUMMICROSTEPS", 2080, FieldType.INT8, stepper_num_micro_steps_e).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERMINDUTYCYCLE = Field.create("STEPPERMINDUTYCYCLE", 2081, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERMAXDUTYCYCLE = Field.create("STEPPERMAXDUTYCYCLE", 2082, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SDCARDSPIDEVICE = Field.create("SDCARDSPIDEVICE", 2083, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER1 = Field.create("TIMING_OFFSET_CYLINDER1", 2084, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER2 = Field.create("TIMING_OFFSET_CYLINDER2", 2088, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER3 = Field.create("TIMING_OFFSET_CYLINDER3", 2092, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER4 = Field.create("TIMING_OFFSET_CYLINDER4", 2096, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER5 = Field.create("TIMING_OFFSET_CYLINDER5", 2100, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER6 = Field.create("TIMING_OFFSET_CYLINDER6", 2104, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER7 = Field.create("TIMING_OFFSET_CYLINDER7", 2108, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER8 = Field.create("TIMING_OFFSET_CYLINDER8", 2112, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER9 = Field.create("TIMING_OFFSET_CYLINDER9", 2116, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER10 = Field.create("TIMING_OFFSET_CYLINDER10", 2120, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER11 = Field.create("TIMING_OFFSET_CYLINDER11", 2124, FieldType.FLOAT).setBaseOffset(0); + public static final Field TIMING_OFFSET_CYLINDER12 = Field.create("TIMING_OFFSET_CYLINDER12", 2128, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLEPIDACTIVATIONTIME = Field.create("IDLEPIDACTIVATIONTIME", 2132, FieldType.FLOAT).setBaseOffset(0); public static final String[] pin_mode_e = {"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"}; - public static final Field SPI1SCKMODE = Field.create("SPI1SCKMODE", 2068, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI1MOSIMODE = Field.create("SPI1MOSIMODE", 2069, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI1MISOMODE = Field.create("SPI1MISOMODE", 2070, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI2SCKMODE = Field.create("SPI2SCKMODE", 2071, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI2MOSIMODE = Field.create("SPI2MOSIMODE", 2072, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI2MISOMODE = Field.create("SPI2MISOMODE", 2073, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI3SCKMODE = Field.create("SPI3SCKMODE", 2074, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI3MOSIMODE = Field.create("SPI3MOSIMODE", 2075, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field SPI3MISOMODE = Field.create("SPI3MISOMODE", 2076, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERENABLEPINMODE = Field.create("STEPPERENABLEPINMODE", 2077, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field MC33816_RSTB = Field.create("MC33816_RSTB", 2078, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field MC33816_DRIVEN = Field.create("MC33816_DRIVEN", 2080, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field BRAKEPEDALPIN = Field.create("BRAKEPEDALPIN", 2082, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field BRAKEPEDALPINMODE = Field.create("BRAKEPEDALPINMODE", 2084, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_2085 = Field.create("ALIGNMENTFILL_AT_2085", 2085, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID1_PFACTOR = Field.create("AUXPID1_PFACTOR", 2088, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXPID1_IFACTOR = Field.create("AUXPID1_IFACTOR", 2092, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXPID1_DFACTOR = Field.create("AUXPID1_DFACTOR", 2096, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXPID1_OFFSET = Field.create("AUXPID1_OFFSET", 2100, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID1_PERIODMS = Field.create("AUXPID1_PERIODMS", 2102, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID1_MINVALUE = Field.create("AUXPID1_MINVALUE", 2104, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID1_MAXVALUE = Field.create("AUXPID1_MAXVALUE", 2106, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID2_PFACTOR = Field.create("AUXPID2_PFACTOR", 2108, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXPID2_IFACTOR = Field.create("AUXPID2_IFACTOR", 2112, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXPID2_DFACTOR = Field.create("AUXPID2_DFACTOR", 2116, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXPID2_OFFSET = Field.create("AUXPID2_OFFSET", 2120, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID2_PERIODMS = Field.create("AUXPID2_PERIODMS", 2122, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID2_MINVALUE = Field.create("AUXPID2_MINVALUE", 2124, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXPID2_MAXVALUE = Field.create("AUXPID2_MAXVALUE", 2126, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL1 = Field.create("INJECTORCORRECTIONPOLYNOMIAL1", 2128, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL2 = Field.create("INJECTORCORRECTIONPOLYNOMIAL2", 2132, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL3 = Field.create("INJECTORCORRECTIONPOLYNOMIAL3", 2136, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL4 = Field.create("INJECTORCORRECTIONPOLYNOMIAL4", 2140, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL5 = Field.create("INJECTORCORRECTIONPOLYNOMIAL5", 2144, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL6 = Field.create("INJECTORCORRECTIONPOLYNOMIAL6", 2148, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL7 = Field.create("INJECTORCORRECTIONPOLYNOMIAL7", 2152, FieldType.FLOAT).setBaseOffset(0); - public static final Field INJECTORCORRECTIONPOLYNOMIAL8 = Field.create("INJECTORCORRECTIONPOLYNOMIAL8", 2156, FieldType.FLOAT).setBaseOffset(0); - public static final Field PRIMEBINS = Field.create("PRIMEBINS", 2160, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field OILPRESSURE_HWCHANNEL = Field.create("OILPRESSURE_HWCHANNEL", 2168, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field OILPRESSURE_ALIGNMENTFILL_AT_1 = Field.create("OILPRESSURE_ALIGNMENTFILL_AT_1", 2169, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field OILPRESSURE_V1 = Field.create("OILPRESSURE_V1", 2172, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILPRESSURE_VALUE1 = Field.create("OILPRESSURE_VALUE1", 2176, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILPRESSURE_V2 = Field.create("OILPRESSURE_V2", 2180, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILPRESSURE_VALUE2 = Field.create("OILPRESSURE_VALUE2", 2184, FieldType.FLOAT).setBaseOffset(0); - public static final Field ACCELEROMETERSPIDEVICE = Field.create("ACCELEROMETERSPIDEVICE", 2188, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_2189 = Field.create("ALIGNMENTFILL_AT_2189", 2189, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FAN2PIN = Field.create("FAN2PIN", 2190, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field FAN2ONTEMPERATURE = Field.create("FAN2ONTEMPERATURE", 2192, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FAN2OFFTEMPERATURE = Field.create("FAN2OFFTEMPERATURE", 2193, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STEPPERENABLEPIN = Field.create("STEPPERENABLEPIN", 2194, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TLE8888_CS = Field.create("TLE8888_CS", 2196, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field TLE8888_CSPINMODE = Field.create("TLE8888_CSPINMODE", 2198, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_2199 = Field.create("ALIGNMENTFILL_AT_2199", 2199, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33816_CS = Field.create("MC33816_CS", 2200, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_2202 = Field.create("ALIGNMENTFILL_AT_2202", 2202, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AUXFREQUENCYFILTER = Field.create("AUXFREQUENCYFILTER", 2204, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTCONTROLMINRPM = Field.create("VVTCONTROLMINRPM", 2208, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SPI1SCKMODE = Field.create("SPI1SCKMODE", 2136, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI1MOSIMODE = Field.create("SPI1MOSIMODE", 2137, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI1MISOMODE = Field.create("SPI1MISOMODE", 2138, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI2SCKMODE = Field.create("SPI2SCKMODE", 2139, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI2MOSIMODE = Field.create("SPI2MOSIMODE", 2140, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI2MISOMODE = Field.create("SPI2MISOMODE", 2141, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI3SCKMODE = Field.create("SPI3SCKMODE", 2142, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI3MOSIMODE = Field.create("SPI3MOSIMODE", 2143, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field SPI3MISOMODE = Field.create("SPI3MISOMODE", 2144, FieldType.INT8, pin_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERENABLEPINMODE = Field.create("STEPPERENABLEPINMODE", 2145, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field MC33816_RSTB = Field.create("MC33816_RSTB", 2146, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field MC33816_DRIVEN = Field.create("MC33816_DRIVEN", 2148, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field BRAKEPEDALPIN = Field.create("BRAKEPEDALPIN", 2150, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field BRAKEPEDALPINMODE = Field.create("BRAKEPEDALPINMODE", 2152, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_2153 = Field.create("ALIGNMENTFILL_AT_2153", 2153, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID1_PFACTOR = Field.create("AUXPID1_PFACTOR", 2156, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXPID1_IFACTOR = Field.create("AUXPID1_IFACTOR", 2160, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXPID1_DFACTOR = Field.create("AUXPID1_DFACTOR", 2164, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXPID1_OFFSET = Field.create("AUXPID1_OFFSET", 2168, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID1_PERIODMS = Field.create("AUXPID1_PERIODMS", 2170, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID1_MINVALUE = Field.create("AUXPID1_MINVALUE", 2172, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID1_MAXVALUE = Field.create("AUXPID1_MAXVALUE", 2174, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID2_PFACTOR = Field.create("AUXPID2_PFACTOR", 2176, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXPID2_IFACTOR = Field.create("AUXPID2_IFACTOR", 2180, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXPID2_DFACTOR = Field.create("AUXPID2_DFACTOR", 2184, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXPID2_OFFSET = Field.create("AUXPID2_OFFSET", 2188, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID2_PERIODMS = Field.create("AUXPID2_PERIODMS", 2190, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID2_MINVALUE = Field.create("AUXPID2_MINVALUE", 2192, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXPID2_MAXVALUE = Field.create("AUXPID2_MAXVALUE", 2194, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL1 = Field.create("INJECTORCORRECTIONPOLYNOMIAL1", 2196, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL2 = Field.create("INJECTORCORRECTIONPOLYNOMIAL2", 2200, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL3 = Field.create("INJECTORCORRECTIONPOLYNOMIAL3", 2204, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL4 = Field.create("INJECTORCORRECTIONPOLYNOMIAL4", 2208, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL5 = Field.create("INJECTORCORRECTIONPOLYNOMIAL5", 2212, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL6 = Field.create("INJECTORCORRECTIONPOLYNOMIAL6", 2216, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL7 = Field.create("INJECTORCORRECTIONPOLYNOMIAL7", 2220, FieldType.FLOAT).setBaseOffset(0); + public static final Field INJECTORCORRECTIONPOLYNOMIAL8 = Field.create("INJECTORCORRECTIONPOLYNOMIAL8", 2224, FieldType.FLOAT).setBaseOffset(0); + public static final Field PRIMEBINS = Field.create("PRIMEBINS", 2228, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field OILPRESSURE_HWCHANNEL = Field.create("OILPRESSURE_HWCHANNEL", 2236, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field OILPRESSURE_ALIGNMENTFILL_AT_1 = Field.create("OILPRESSURE_ALIGNMENTFILL_AT_1", 2237, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field OILPRESSURE_V1 = Field.create("OILPRESSURE_V1", 2240, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILPRESSURE_VALUE1 = Field.create("OILPRESSURE_VALUE1", 2244, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILPRESSURE_V2 = Field.create("OILPRESSURE_V2", 2248, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILPRESSURE_VALUE2 = Field.create("OILPRESSURE_VALUE2", 2252, FieldType.FLOAT).setBaseOffset(0); + public static final Field ACCELEROMETERSPIDEVICE = Field.create("ACCELEROMETERSPIDEVICE", 2256, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_2257 = Field.create("ALIGNMENTFILL_AT_2257", 2257, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FAN2PIN = Field.create("FAN2PIN", 2258, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field FAN2ONTEMPERATURE = Field.create("FAN2ONTEMPERATURE", 2260, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FAN2OFFTEMPERATURE = Field.create("FAN2OFFTEMPERATURE", 2261, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STEPPERENABLEPIN = Field.create("STEPPERENABLEPIN", 2262, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TLE8888_CS = Field.create("TLE8888_CS", 2264, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field TLE8888_CSPINMODE = Field.create("TLE8888_CSPINMODE", 2266, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_2267 = Field.create("ALIGNMENTFILL_AT_2267", 2267, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33816_CS = Field.create("MC33816_CS", 2268, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_2270 = Field.create("ALIGNMENTFILL_AT_2270", 2270, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AUXFREQUENCYFILTER = Field.create("AUXFREQUENCYFILTER", 2272, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTCONTROLMINRPM = Field.create("VVTCONTROLMINRPM", 2276, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final String[] sent_input_pin_e = {"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"}; - public static final Field SENTINPUTPINS1 = Field.create("SENTINPUTPINS1", 2210, FieldType.INT16, sent_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LAUNCHFUELADDERPERCENT = Field.create("LAUNCHFUELADDERPERCENT", 2212, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ETBJAMTIMEOUT = Field.create("ETBJAMTIMEOUT", 2213, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field ETBEXPAVERAGELENGTH = Field.create("ETBEXPAVERAGELENGTH", 2214, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBDUTYTHRESHOLD = Field.create("ETBDUTYTHRESHOLD", 2216, FieldType.FLOAT).setBaseOffset(0); - public static final Field COASTINGFUELCUTRPMHIGH = Field.create("COASTINGFUELCUTRPMHIGH", 2220, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field COASTINGFUELCUTRPMLOW = Field.create("COASTINGFUELCUTRPMLOW", 2222, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field COASTINGFUELCUTTPS = Field.create("COASTINGFUELCUTTPS", 2224, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field COASTINGFUELCUTCLT = Field.create("COASTINGFUELCUTCLT", 2226, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field PIDEXTRAFORLOWRPM = Field.create("PIDEXTRAFORLOWRPM", 2228, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field COASTINGFUELCUTMAP = Field.create("COASTINGFUELCUTMAP", 2230, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field HIGHPRESSUREFUEL_HWCHANNEL = Field.create("HIGHPRESSUREFUEL_HWCHANNEL", 2232, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field HIGHPRESSUREFUEL_ALIGNMENTFILL_AT_1 = Field.create("HIGHPRESSUREFUEL_ALIGNMENTFILL_AT_1", 2233, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HIGHPRESSUREFUEL_V1 = Field.create("HIGHPRESSUREFUEL_V1", 2236, FieldType.FLOAT).setBaseOffset(0); - public static final Field HIGHPRESSUREFUEL_VALUE1 = Field.create("HIGHPRESSUREFUEL_VALUE1", 2240, FieldType.FLOAT).setBaseOffset(0); - public static final Field HIGHPRESSUREFUEL_V2 = Field.create("HIGHPRESSUREFUEL_V2", 2244, FieldType.FLOAT).setBaseOffset(0); - public static final Field HIGHPRESSUREFUEL_VALUE2 = Field.create("HIGHPRESSUREFUEL_VALUE2", 2248, FieldType.FLOAT).setBaseOffset(0); - public static final Field LOWPRESSUREFUEL_HWCHANNEL = Field.create("LOWPRESSUREFUEL_HWCHANNEL", 2252, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field LOWPRESSUREFUEL_ALIGNMENTFILL_AT_1 = Field.create("LOWPRESSUREFUEL_ALIGNMENTFILL_AT_1", 2253, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LOWPRESSUREFUEL_V1 = Field.create("LOWPRESSUREFUEL_V1", 2256, FieldType.FLOAT).setBaseOffset(0); - public static final Field LOWPRESSUREFUEL_VALUE1 = Field.create("LOWPRESSUREFUEL_VALUE1", 2260, FieldType.FLOAT).setBaseOffset(0); - public static final Field LOWPRESSUREFUEL_V2 = Field.create("LOWPRESSUREFUEL_V2", 2264, FieldType.FLOAT).setBaseOffset(0); - public static final Field LOWPRESSUREFUEL_VALUE2 = Field.create("LOWPRESSUREFUEL_VALUE2", 2268, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTREVLIMITRPMBINS = Field.create("CLTREVLIMITRPMBINS", 2272, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CLTREVLIMITRPM = Field.create("CLTREVLIMITRPM", 2276, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTCURVENAME1 = Field.create("SCRIPTCURVENAME1", 2284, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTCURVENAME2 = Field.create("SCRIPTCURVENAME2", 2300, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTCURVENAME3 = Field.create("SCRIPTCURVENAME3", 2316, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTCURVENAME4 = Field.create("SCRIPTCURVENAME4", 2332, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTCURVENAME5 = Field.create("SCRIPTCURVENAME5", 2348, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTCURVENAME6 = Field.create("SCRIPTCURVENAME6", 2364, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLENAME1 = Field.create("SCRIPTTABLENAME1", 2380, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLENAME2 = Field.create("SCRIPTTABLENAME2", 2396, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLENAME3 = Field.create("SCRIPTTABLENAME3", 2412, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLENAME4 = Field.create("SCRIPTTABLENAME4", 2428, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME1 = Field.create("SCRIPTSETTINGNAME1", 2444, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME2 = Field.create("SCRIPTSETTINGNAME2", 2460, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME3 = Field.create("SCRIPTSETTINGNAME3", 2476, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME4 = Field.create("SCRIPTSETTINGNAME4", 2492, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME5 = Field.create("SCRIPTSETTINGNAME5", 2508, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME6 = Field.create("SCRIPTSETTINGNAME6", 2524, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME7 = Field.create("SCRIPTSETTINGNAME7", 2540, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTSETTINGNAME8 = Field.create("SCRIPTSETTINGNAME8", 2556, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field TCHARGEAIRCOEFMIN = Field.create("TCHARGEAIRCOEFMIN", 2572, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEAIRCOEFMAX = Field.create("TCHARGEAIRCOEFMAX", 2576, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEAIRFLOWMAX = Field.create("TCHARGEAIRFLOWMAX", 2580, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEAIRINCRLIMIT = Field.create("TCHARGEAIRINCRLIMIT", 2584, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCHARGEAIRDECRLIMIT = Field.create("TCHARGEAIRDECRLIMIT", 2588, FieldType.FLOAT).setBaseOffset(0); + public static final Field SENTINPUTPINS1 = Field.create("SENTINPUTPINS1", 2278, FieldType.INT16, sent_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LAUNCHFUELADDERPERCENT = Field.create("LAUNCHFUELADDERPERCENT", 2280, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ETBJAMTIMEOUT = Field.create("ETBJAMTIMEOUT", 2281, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field ETBEXPAVERAGELENGTH = Field.create("ETBEXPAVERAGELENGTH", 2282, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBDUTYTHRESHOLD = Field.create("ETBDUTYTHRESHOLD", 2284, FieldType.FLOAT).setBaseOffset(0); + public static final Field COASTINGFUELCUTRPMHIGH = Field.create("COASTINGFUELCUTRPMHIGH", 2288, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field COASTINGFUELCUTRPMLOW = Field.create("COASTINGFUELCUTRPMLOW", 2290, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field COASTINGFUELCUTTPS = Field.create("COASTINGFUELCUTTPS", 2292, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field COASTINGFUELCUTCLT = Field.create("COASTINGFUELCUTCLT", 2294, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field PIDEXTRAFORLOWRPM = Field.create("PIDEXTRAFORLOWRPM", 2296, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field COASTINGFUELCUTMAP = Field.create("COASTINGFUELCUTMAP", 2298, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field HIGHPRESSUREFUEL_HWCHANNEL = Field.create("HIGHPRESSUREFUEL_HWCHANNEL", 2300, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field HIGHPRESSUREFUEL_ALIGNMENTFILL_AT_1 = Field.create("HIGHPRESSUREFUEL_ALIGNMENTFILL_AT_1", 2301, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HIGHPRESSUREFUEL_V1 = Field.create("HIGHPRESSUREFUEL_V1", 2304, FieldType.FLOAT).setBaseOffset(0); + public static final Field HIGHPRESSUREFUEL_VALUE1 = Field.create("HIGHPRESSUREFUEL_VALUE1", 2308, FieldType.FLOAT).setBaseOffset(0); + public static final Field HIGHPRESSUREFUEL_V2 = Field.create("HIGHPRESSUREFUEL_V2", 2312, FieldType.FLOAT).setBaseOffset(0); + public static final Field HIGHPRESSUREFUEL_VALUE2 = Field.create("HIGHPRESSUREFUEL_VALUE2", 2316, FieldType.FLOAT).setBaseOffset(0); + public static final Field LOWPRESSUREFUEL_HWCHANNEL = Field.create("LOWPRESSUREFUEL_HWCHANNEL", 2320, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field LOWPRESSUREFUEL_ALIGNMENTFILL_AT_1 = Field.create("LOWPRESSUREFUEL_ALIGNMENTFILL_AT_1", 2321, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LOWPRESSUREFUEL_V1 = Field.create("LOWPRESSUREFUEL_V1", 2324, FieldType.FLOAT).setBaseOffset(0); + public static final Field LOWPRESSUREFUEL_VALUE1 = Field.create("LOWPRESSUREFUEL_VALUE1", 2328, FieldType.FLOAT).setBaseOffset(0); + public static final Field LOWPRESSUREFUEL_V2 = Field.create("LOWPRESSUREFUEL_V2", 2332, FieldType.FLOAT).setBaseOffset(0); + public static final Field LOWPRESSUREFUEL_VALUE2 = Field.create("LOWPRESSUREFUEL_VALUE2", 2336, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTREVLIMITRPMBINS = Field.create("CLTREVLIMITRPMBINS", 2340, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CLTREVLIMITRPM = Field.create("CLTREVLIMITRPM", 2344, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTCURVENAME1 = Field.create("SCRIPTCURVENAME1", 2352, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTCURVENAME2 = Field.create("SCRIPTCURVENAME2", 2368, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTCURVENAME3 = Field.create("SCRIPTCURVENAME3", 2384, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTCURVENAME4 = Field.create("SCRIPTCURVENAME4", 2400, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTCURVENAME5 = Field.create("SCRIPTCURVENAME5", 2416, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTCURVENAME6 = Field.create("SCRIPTCURVENAME6", 2432, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLENAME1 = Field.create("SCRIPTTABLENAME1", 2448, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLENAME2 = Field.create("SCRIPTTABLENAME2", 2464, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLENAME3 = Field.create("SCRIPTTABLENAME3", 2480, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLENAME4 = Field.create("SCRIPTTABLENAME4", 2496, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME1 = Field.create("SCRIPTSETTINGNAME1", 2512, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME2 = Field.create("SCRIPTSETTINGNAME2", 2528, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME3 = Field.create("SCRIPTSETTINGNAME3", 2544, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME4 = Field.create("SCRIPTSETTINGNAME4", 2560, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME5 = Field.create("SCRIPTSETTINGNAME5", 2576, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME6 = Field.create("SCRIPTSETTINGNAME6", 2592, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME7 = Field.create("SCRIPTSETTINGNAME7", 2608, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTSETTINGNAME8 = Field.create("SCRIPTSETTINGNAME8", 2624, 16, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field TCHARGEAIRCOEFMIN = Field.create("TCHARGEAIRCOEFMIN", 2640, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEAIRCOEFMAX = Field.create("TCHARGEAIRCOEFMAX", 2644, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEAIRFLOWMAX = Field.create("TCHARGEAIRFLOWMAX", 2648, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEAIRINCRLIMIT = Field.create("TCHARGEAIRINCRLIMIT", 2652, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCHARGEAIRDECRLIMIT = Field.create("TCHARGEAIRDECRLIMIT", 2656, FieldType.FLOAT).setBaseOffset(0); public static final String[] tChargeMode_e = {"RPM+TPS (Default)", "Air Mass Interpolation", "Table"}; - public static final Field TCHARGEMODE = Field.create("TCHARGEMODE", 2592, FieldType.INT8, tChargeMode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_2593 = Field.create("ALIGNMENTFILL_AT_2593", 2593, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HIP9011GAIN = Field.create("HIP9011GAIN", 2596, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETB_ITERMMIN = Field.create("ETB_ITERMMIN", 2600, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETB_ITERMMAX = Field.create("ETB_ITERMMAX", 2602, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLETIMINGPID_PFACTOR = Field.create("IDLETIMINGPID_PFACTOR", 2604, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLETIMINGPID_IFACTOR = Field.create("IDLETIMINGPID_IFACTOR", 2608, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLETIMINGPID_DFACTOR = Field.create("IDLETIMINGPID_DFACTOR", 2612, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLETIMINGPID_OFFSET = Field.create("IDLETIMINGPID_OFFSET", 2616, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLETIMINGPID_PERIODMS = Field.create("IDLETIMINGPID_PERIODMS", 2618, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLETIMINGPID_MINVALUE = Field.create("IDLETIMINGPID_MINVALUE", 2620, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLETIMINGPID_MAXVALUE = Field.create("IDLETIMINGPID_MAXVALUE", 2622, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IDLETIMINGSOFTENTRYTIME = Field.create("IDLETIMINGSOFTENTRYTIME", 2624, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBROCEXPAVERAGELENGTH = Field.create("ETBROCEXPAVERAGELENGTH", 2628, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSACCELFRACTIONPERIOD = Field.create("TPSACCELFRACTIONPERIOD", 2630, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSACCELFRACTIONDIVISOR = Field.create("TPSACCELFRACTIONDIVISOR", 2632, FieldType.FLOAT).setBaseOffset(0); - public static final Field TLE8888SPIDEVICE = Field.create("TLE8888SPIDEVICE", 2636, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33816SPIDEVICE = Field.create("MC33816SPIDEVICE", 2637, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IDLERPMPID_ITERMMIN = Field.create("IDLERPMPID_ITERMMIN", 2638, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TLE6240SPIDEVICE = Field.create("TLE6240SPIDEVICE", 2640, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STOICHRATIOPRIMARY = Field.create("STOICHRATIOPRIMARY", 2641, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field IDLERPMPID_ITERMMAX = Field.create("IDLERPMPID_ITERMMAX", 2642, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBIDLETHROTTLERANGE = Field.create("ETBIDLETHROTTLERANGE", 2644, FieldType.FLOAT).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT1 = Field.create("CYLINDERBANKSELECT1", 2648, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT2 = Field.create("CYLINDERBANKSELECT2", 2649, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT3 = Field.create("CYLINDERBANKSELECT3", 2650, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT4 = Field.create("CYLINDERBANKSELECT4", 2651, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT5 = Field.create("CYLINDERBANKSELECT5", 2652, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT6 = Field.create("CYLINDERBANKSELECT6", 2653, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT7 = Field.create("CYLINDERBANKSELECT7", 2654, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT8 = Field.create("CYLINDERBANKSELECT8", 2655, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT9 = Field.create("CYLINDERBANKSELECT9", 2656, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT10 = Field.create("CYLINDERBANKSELECT10", 2657, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT11 = Field.create("CYLINDERBANKSELECT11", 2658, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CYLINDERBANKSELECT12 = Field.create("CYLINDERBANKSELECT12", 2659, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PRIMEVALUES = Field.create("PRIMEVALUES", 2660, FieldType.INT8).setScale(5.0).setBaseOffset(0); - public static final Field TRIGGERCOMPCENTERVOLT = Field.create("TRIGGERCOMPCENTERVOLT", 2668, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field TRIGGERCOMPHYSTMIN = Field.create("TRIGGERCOMPHYSTMIN", 2669, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field TRIGGERCOMPHYSTMAX = Field.create("TRIGGERCOMPHYSTMAX", 2670, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field TRIGGERCOMPSENSORSATRPM = Field.create("TRIGGERCOMPSENSORSATRPM", 2671, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field TRACTIONCONTROLSLIPBINS = Field.create("TRACTIONCONTROLSLIPBINS", 2672, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TRACTIONCONTROLSPEEDBINS = Field.create("TRACTIONCONTROLSPEEDBINS", 2684, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DISABLEFAN1ATSPEED = Field.create("DISABLEFAN1ATSPEED", 2690, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field DISABLEFAN2ATSPEED = Field.create("DISABLEFAN2ATSPEED", 2691, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CANVSSNBCTYPE = Field.create("CANVSSNBCTYPE", 2692, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_2694 = Field.create("ALIGNMENTFILL_AT_2694", 2694, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_PIN = Field.create("GPPWM1_PIN", 2696, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_DUTYIFERROR = Field.create("GPPWM1_DUTYIFERROR", 2698, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_ALIGNMENTFILL_AT_3 = Field.create("GPPWM1_ALIGNMENTFILL_AT_3", 2699, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_PWMFREQUENCY = Field.create("GPPWM1_PWMFREQUENCY", 2700, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_ONABOVEDUTY = Field.create("GPPWM1_ONABOVEDUTY", 2702, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_OFFBELOWDUTY = Field.create("GPPWM1_OFFBELOWDUTY", 2703, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCHARGEMODE = Field.create("TCHARGEMODE", 2660, FieldType.INT8, tChargeMode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_2661 = Field.create("ALIGNMENTFILL_AT_2661", 2661, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HIP9011GAIN = Field.create("HIP9011GAIN", 2664, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETB_ITERMMIN = Field.create("ETB_ITERMMIN", 2668, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETB_ITERMMAX = Field.create("ETB_ITERMMAX", 2670, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLETIMINGPID_PFACTOR = Field.create("IDLETIMINGPID_PFACTOR", 2672, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLETIMINGPID_IFACTOR = Field.create("IDLETIMINGPID_IFACTOR", 2676, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLETIMINGPID_DFACTOR = Field.create("IDLETIMINGPID_DFACTOR", 2680, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLETIMINGPID_OFFSET = Field.create("IDLETIMINGPID_OFFSET", 2684, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLETIMINGPID_PERIODMS = Field.create("IDLETIMINGPID_PERIODMS", 2686, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLETIMINGPID_MINVALUE = Field.create("IDLETIMINGPID_MINVALUE", 2688, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLETIMINGPID_MAXVALUE = Field.create("IDLETIMINGPID_MAXVALUE", 2690, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IDLETIMINGSOFTENTRYTIME = Field.create("IDLETIMINGSOFTENTRYTIME", 2692, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBROCEXPAVERAGELENGTH = Field.create("ETBROCEXPAVERAGELENGTH", 2696, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSACCELFRACTIONPERIOD = Field.create("TPSACCELFRACTIONPERIOD", 2698, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSACCELFRACTIONDIVISOR = Field.create("TPSACCELFRACTIONDIVISOR", 2700, FieldType.FLOAT).setBaseOffset(0); + public static final Field TLE8888SPIDEVICE = Field.create("TLE8888SPIDEVICE", 2704, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33816SPIDEVICE = Field.create("MC33816SPIDEVICE", 2705, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IDLERPMPID_ITERMMIN = Field.create("IDLERPMPID_ITERMMIN", 2706, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TLE6240SPIDEVICE = Field.create("TLE6240SPIDEVICE", 2708, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STOICHRATIOPRIMARY = Field.create("STOICHRATIOPRIMARY", 2709, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field IDLERPMPID_ITERMMAX = Field.create("IDLERPMPID_ITERMMAX", 2710, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBIDLETHROTTLERANGE = Field.create("ETBIDLETHROTTLERANGE", 2712, FieldType.FLOAT).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT1 = Field.create("CYLINDERBANKSELECT1", 2716, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT2 = Field.create("CYLINDERBANKSELECT2", 2717, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT3 = Field.create("CYLINDERBANKSELECT3", 2718, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT4 = Field.create("CYLINDERBANKSELECT4", 2719, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT5 = Field.create("CYLINDERBANKSELECT5", 2720, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT6 = Field.create("CYLINDERBANKSELECT6", 2721, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT7 = Field.create("CYLINDERBANKSELECT7", 2722, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT8 = Field.create("CYLINDERBANKSELECT8", 2723, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT9 = Field.create("CYLINDERBANKSELECT9", 2724, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT10 = Field.create("CYLINDERBANKSELECT10", 2725, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT11 = Field.create("CYLINDERBANKSELECT11", 2726, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CYLINDERBANKSELECT12 = Field.create("CYLINDERBANKSELECT12", 2727, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PRIMEVALUES = Field.create("PRIMEVALUES", 2728, FieldType.INT8).setScale(5.0).setBaseOffset(0); + public static final Field TRIGGERCOMPCENTERVOLT = Field.create("TRIGGERCOMPCENTERVOLT", 2736, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field TRIGGERCOMPHYSTMIN = Field.create("TRIGGERCOMPHYSTMIN", 2737, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field TRIGGERCOMPHYSTMAX = Field.create("TRIGGERCOMPHYSTMAX", 2738, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field TRIGGERCOMPSENSORSATRPM = Field.create("TRIGGERCOMPSENSORSATRPM", 2739, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field TRACTIONCONTROLSLIPBINS = Field.create("TRACTIONCONTROLSLIPBINS", 2740, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TRACTIONCONTROLSPEEDBINS = Field.create("TRACTIONCONTROLSPEEDBINS", 2752, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DISABLEFAN1ATSPEED = Field.create("DISABLEFAN1ATSPEED", 2758, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field DISABLEFAN2ATSPEED = Field.create("DISABLEFAN2ATSPEED", 2759, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CANVSSNBCTYPE = Field.create("CANVSSNBCTYPE", 2760, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_2762 = Field.create("ALIGNMENTFILL_AT_2762", 2762, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_PIN = Field.create("GPPWM1_PIN", 2764, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_DUTYIFERROR = Field.create("GPPWM1_DUTYIFERROR", 2766, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_ALIGNMENTFILL_AT_3 = Field.create("GPPWM1_ALIGNMENTFILL_AT_3", 2767, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_PWMFREQUENCY = Field.create("GPPWM1_PWMFREQUENCY", 2768, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_ONABOVEDUTY = Field.create("GPPWM1_ONABOVEDUTY", 2770, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_OFFBELOWDUTY = Field.create("GPPWM1_OFFBELOWDUTY", 2771, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] gppwm_channel_e = {"Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)"}; - public static final Field GPPWM1_LOADAXIS = Field.create("GPPWM1_LOADAXIS", 2704, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_RPMAXIS = Field.create("GPPWM1_RPMAXIS", 2705, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_LOADBINS = Field.create("GPPWM1_LOADBINS", 2706, FieldType.INT16).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM1_RPMBINS = Field.create("GPPWM1_RPMBINS", 2722, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM1_TABLE = Field.create("GPPWM1_TABLE", 2738, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM1_ALIGNMENTFILL_AT_106 = Field.create("GPPWM1_ALIGNMENTFILL_AT_106", 2802, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_PIN = Field.create("GPPWM2_PIN", 2804, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_DUTYIFERROR = Field.create("GPPWM2_DUTYIFERROR", 2806, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_ALIGNMENTFILL_AT_3 = Field.create("GPPWM2_ALIGNMENTFILL_AT_3", 2807, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_PWMFREQUENCY = Field.create("GPPWM2_PWMFREQUENCY", 2808, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_ONABOVEDUTY = Field.create("GPPWM2_ONABOVEDUTY", 2810, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_OFFBELOWDUTY = Field.create("GPPWM2_OFFBELOWDUTY", 2811, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_LOADAXIS = Field.create("GPPWM2_LOADAXIS", 2812, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_RPMAXIS = Field.create("GPPWM2_RPMAXIS", 2813, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_LOADBINS = Field.create("GPPWM2_LOADBINS", 2814, FieldType.INT16).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM2_RPMBINS = Field.create("GPPWM2_RPMBINS", 2830, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM2_TABLE = Field.create("GPPWM2_TABLE", 2846, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM2_ALIGNMENTFILL_AT_106 = Field.create("GPPWM2_ALIGNMENTFILL_AT_106", 2910, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_PIN = Field.create("GPPWM3_PIN", 2912, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_DUTYIFERROR = Field.create("GPPWM3_DUTYIFERROR", 2914, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_ALIGNMENTFILL_AT_3 = Field.create("GPPWM3_ALIGNMENTFILL_AT_3", 2915, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_PWMFREQUENCY = Field.create("GPPWM3_PWMFREQUENCY", 2916, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_ONABOVEDUTY = Field.create("GPPWM3_ONABOVEDUTY", 2918, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_OFFBELOWDUTY = Field.create("GPPWM3_OFFBELOWDUTY", 2919, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_LOADAXIS = Field.create("GPPWM3_LOADAXIS", 2920, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_RPMAXIS = Field.create("GPPWM3_RPMAXIS", 2921, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_LOADBINS = Field.create("GPPWM3_LOADBINS", 2922, FieldType.INT16).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM3_RPMBINS = Field.create("GPPWM3_RPMBINS", 2938, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM3_TABLE = Field.create("GPPWM3_TABLE", 2954, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM3_ALIGNMENTFILL_AT_106 = Field.create("GPPWM3_ALIGNMENTFILL_AT_106", 3018, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_PIN = Field.create("GPPWM4_PIN", 3020, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_DUTYIFERROR = Field.create("GPPWM4_DUTYIFERROR", 3022, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_ALIGNMENTFILL_AT_3 = Field.create("GPPWM4_ALIGNMENTFILL_AT_3", 3023, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_PWMFREQUENCY = Field.create("GPPWM4_PWMFREQUENCY", 3024, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_ONABOVEDUTY = Field.create("GPPWM4_ONABOVEDUTY", 3026, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_OFFBELOWDUTY = Field.create("GPPWM4_OFFBELOWDUTY", 3027, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_LOADAXIS = Field.create("GPPWM4_LOADAXIS", 3028, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_RPMAXIS = Field.create("GPPWM4_RPMAXIS", 3029, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_LOADBINS = Field.create("GPPWM4_LOADBINS", 3030, FieldType.INT16).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM4_RPMBINS = Field.create("GPPWM4_RPMBINS", 3046, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWM4_TABLE = Field.create("GPPWM4_TABLE", 3062, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWM4_ALIGNMENTFILL_AT_106 = Field.create("GPPWM4_ALIGNMENTFILL_AT_106", 3126, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MC33_I_BOOST = Field.create("MC33_I_BOOST", 3128, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_I_PEAK = Field.create("MC33_I_PEAK", 3130, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_I_HOLD = Field.create("MC33_I_HOLD", 3132, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_MAX_BOOST = Field.create("MC33_T_MAX_BOOST", 3134, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_PEAK_OFF = Field.create("MC33_T_PEAK_OFF", 3136, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_PEAK_TOT = Field.create("MC33_T_PEAK_TOT", 3138, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_BYPASS = Field.create("MC33_T_BYPASS", 3140, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_HOLD_OFF = Field.create("MC33_T_HOLD_OFF", 3142, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field MC33_T_HOLD_TOT = Field.create("MC33_T_HOLD_TOT", 3144, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TCUUPSHIFTBUTTONPINMODE = Field.create("TCUUPSHIFTBUTTONPINMODE", 3146, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCUDOWNSHIFTBUTTONPINMODE = Field.create("TCUDOWNSHIFTBUTTONPINMODE", 3147, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ACSWITCHMODE = Field.create("ACSWITCHMODE", 3148, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID_MODE1 = Field.create("TCU_SOLENOID_MODE1", 3149, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID_MODE2 = Field.create("TCU_SOLENOID_MODE2", 3150, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID_MODE3 = Field.create("TCU_SOLENOID_MODE3", 3151, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID_MODE4 = Field.create("TCU_SOLENOID_MODE4", 3152, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID_MODE5 = Field.create("TCU_SOLENOID_MODE5", 3153, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_SOLENOID_MODE6 = Field.create("TCU_SOLENOID_MODE6", 3154, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field KNOCKBASENOISE = Field.create("KNOCKBASENOISE", 3155, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3171 = Field.create("ALIGNMENTFILL_AT_3171", 3171, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM1 = Field.create("TRIGGERGAPOVERRIDEFROM1", 3172, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM2 = Field.create("TRIGGERGAPOVERRIDEFROM2", 3176, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM3 = Field.create("TRIGGERGAPOVERRIDEFROM3", 3180, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM4 = Field.create("TRIGGERGAPOVERRIDEFROM4", 3184, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM5 = Field.create("TRIGGERGAPOVERRIDEFROM5", 3188, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM6 = Field.create("TRIGGERGAPOVERRIDEFROM6", 3192, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM7 = Field.create("TRIGGERGAPOVERRIDEFROM7", 3196, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM8 = Field.create("TRIGGERGAPOVERRIDEFROM8", 3200, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM9 = Field.create("TRIGGERGAPOVERRIDEFROM9", 3204, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM10 = Field.create("TRIGGERGAPOVERRIDEFROM10", 3208, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM11 = Field.create("TRIGGERGAPOVERRIDEFROM11", 3212, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM12 = Field.create("TRIGGERGAPOVERRIDEFROM12", 3216, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM13 = Field.create("TRIGGERGAPOVERRIDEFROM13", 3220, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM14 = Field.create("TRIGGERGAPOVERRIDEFROM14", 3224, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM15 = Field.create("TRIGGERGAPOVERRIDEFROM15", 3228, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM16 = Field.create("TRIGGERGAPOVERRIDEFROM16", 3232, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM17 = Field.create("TRIGGERGAPOVERRIDEFROM17", 3236, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDEFROM18 = Field.create("TRIGGERGAPOVERRIDEFROM18", 3240, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO1 = Field.create("TRIGGERGAPOVERRIDETO1", 3244, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO2 = Field.create("TRIGGERGAPOVERRIDETO2", 3248, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO3 = Field.create("TRIGGERGAPOVERRIDETO3", 3252, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO4 = Field.create("TRIGGERGAPOVERRIDETO4", 3256, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO5 = Field.create("TRIGGERGAPOVERRIDETO5", 3260, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO6 = Field.create("TRIGGERGAPOVERRIDETO6", 3264, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO7 = Field.create("TRIGGERGAPOVERRIDETO7", 3268, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO8 = Field.create("TRIGGERGAPOVERRIDETO8", 3272, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO9 = Field.create("TRIGGERGAPOVERRIDETO9", 3276, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO10 = Field.create("TRIGGERGAPOVERRIDETO10", 3280, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO11 = Field.create("TRIGGERGAPOVERRIDETO11", 3284, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO12 = Field.create("TRIGGERGAPOVERRIDETO12", 3288, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO13 = Field.create("TRIGGERGAPOVERRIDETO13", 3292, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO14 = Field.create("TRIGGERGAPOVERRIDETO14", 3296, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO15 = Field.create("TRIGGERGAPOVERRIDETO15", 3300, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO16 = Field.create("TRIGGERGAPOVERRIDETO16", 3304, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO17 = Field.create("TRIGGERGAPOVERRIDETO17", 3308, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERGAPOVERRIDETO18 = Field.create("TRIGGERGAPOVERRIDETO18", 3312, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAXCAMPHASERESOLVERPM = Field.create("MAXCAMPHASERESOLVERPM", 3316, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field DFCODELAY = Field.create("DFCODELAY", 3317, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ACDELAY = Field.create("ACDELAY", 3318, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3319 = Field.create("ALIGNMENTFILL_AT_3319", 3319, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FORDINJECTORSMALLPULSEBREAKPOINT = Field.create("FORDINJECTORSMALLPULSEBREAKPOINT", 3320, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field TPSTSPCORRVALUES = Field.create("TPSTSPCORRVALUES", 3322, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field ETBJAMINTEGRATORLIMIT = Field.create("ETBJAMINTEGRATORLIMIT", 3326, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPCAMLOBES = Field.create("HPFPCAMLOBES", 3327, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_LOADAXIS = Field.create("GPPWM1_LOADAXIS", 2772, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_RPMAXIS = Field.create("GPPWM1_RPMAXIS", 2773, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_LOADBINS = Field.create("GPPWM1_LOADBINS", 2774, FieldType.INT16).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM1_RPMBINS = Field.create("GPPWM1_RPMBINS", 2790, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM1_TABLE = Field.create("GPPWM1_TABLE", 2806, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM1_ALIGNMENTFILL_AT_106 = Field.create("GPPWM1_ALIGNMENTFILL_AT_106", 2870, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_PIN = Field.create("GPPWM2_PIN", 2872, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_DUTYIFERROR = Field.create("GPPWM2_DUTYIFERROR", 2874, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_ALIGNMENTFILL_AT_3 = Field.create("GPPWM2_ALIGNMENTFILL_AT_3", 2875, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_PWMFREQUENCY = Field.create("GPPWM2_PWMFREQUENCY", 2876, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_ONABOVEDUTY = Field.create("GPPWM2_ONABOVEDUTY", 2878, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_OFFBELOWDUTY = Field.create("GPPWM2_OFFBELOWDUTY", 2879, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_LOADAXIS = Field.create("GPPWM2_LOADAXIS", 2880, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_RPMAXIS = Field.create("GPPWM2_RPMAXIS", 2881, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_LOADBINS = Field.create("GPPWM2_LOADBINS", 2882, FieldType.INT16).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM2_RPMBINS = Field.create("GPPWM2_RPMBINS", 2898, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM2_TABLE = Field.create("GPPWM2_TABLE", 2914, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM2_ALIGNMENTFILL_AT_106 = Field.create("GPPWM2_ALIGNMENTFILL_AT_106", 2978, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_PIN = Field.create("GPPWM3_PIN", 2980, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_DUTYIFERROR = Field.create("GPPWM3_DUTYIFERROR", 2982, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_ALIGNMENTFILL_AT_3 = Field.create("GPPWM3_ALIGNMENTFILL_AT_3", 2983, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_PWMFREQUENCY = Field.create("GPPWM3_PWMFREQUENCY", 2984, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_ONABOVEDUTY = Field.create("GPPWM3_ONABOVEDUTY", 2986, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_OFFBELOWDUTY = Field.create("GPPWM3_OFFBELOWDUTY", 2987, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_LOADAXIS = Field.create("GPPWM3_LOADAXIS", 2988, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_RPMAXIS = Field.create("GPPWM3_RPMAXIS", 2989, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_LOADBINS = Field.create("GPPWM3_LOADBINS", 2990, FieldType.INT16).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM3_RPMBINS = Field.create("GPPWM3_RPMBINS", 3006, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM3_TABLE = Field.create("GPPWM3_TABLE", 3022, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM3_ALIGNMENTFILL_AT_106 = Field.create("GPPWM3_ALIGNMENTFILL_AT_106", 3086, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_PIN = Field.create("GPPWM4_PIN", 3088, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_DUTYIFERROR = Field.create("GPPWM4_DUTYIFERROR", 3090, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_ALIGNMENTFILL_AT_3 = Field.create("GPPWM4_ALIGNMENTFILL_AT_3", 3091, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_PWMFREQUENCY = Field.create("GPPWM4_PWMFREQUENCY", 3092, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_ONABOVEDUTY = Field.create("GPPWM4_ONABOVEDUTY", 3094, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_OFFBELOWDUTY = Field.create("GPPWM4_OFFBELOWDUTY", 3095, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_LOADAXIS = Field.create("GPPWM4_LOADAXIS", 3096, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_RPMAXIS = Field.create("GPPWM4_RPMAXIS", 3097, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_LOADBINS = Field.create("GPPWM4_LOADBINS", 3098, FieldType.INT16).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM4_RPMBINS = Field.create("GPPWM4_RPMBINS", 3114, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWM4_TABLE = Field.create("GPPWM4_TABLE", 3130, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWM4_ALIGNMENTFILL_AT_106 = Field.create("GPPWM4_ALIGNMENTFILL_AT_106", 3194, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MC33_I_BOOST = Field.create("MC33_I_BOOST", 3196, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_I_PEAK = Field.create("MC33_I_PEAK", 3198, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_I_HOLD = Field.create("MC33_I_HOLD", 3200, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_MAX_BOOST = Field.create("MC33_T_MAX_BOOST", 3202, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_PEAK_OFF = Field.create("MC33_T_PEAK_OFF", 3204, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_PEAK_TOT = Field.create("MC33_T_PEAK_TOT", 3206, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_BYPASS = Field.create("MC33_T_BYPASS", 3208, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_HOLD_OFF = Field.create("MC33_T_HOLD_OFF", 3210, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MC33_T_HOLD_TOT = Field.create("MC33_T_HOLD_TOT", 3212, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TCUUPSHIFTBUTTONPINMODE = Field.create("TCUUPSHIFTBUTTONPINMODE", 3214, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCUDOWNSHIFTBUTTONPINMODE = Field.create("TCUDOWNSHIFTBUTTONPINMODE", 3215, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ACSWITCHMODE = Field.create("ACSWITCHMODE", 3216, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID_MODE1 = Field.create("TCU_SOLENOID_MODE1", 3217, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID_MODE2 = Field.create("TCU_SOLENOID_MODE2", 3218, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID_MODE3 = Field.create("TCU_SOLENOID_MODE3", 3219, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID_MODE4 = Field.create("TCU_SOLENOID_MODE4", 3220, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID_MODE5 = Field.create("TCU_SOLENOID_MODE5", 3221, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_SOLENOID_MODE6 = Field.create("TCU_SOLENOID_MODE6", 3222, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field KNOCKBASENOISE = Field.create("KNOCKBASENOISE", 3223, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_3239 = Field.create("ALIGNMENTFILL_AT_3239", 3239, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM1 = Field.create("TRIGGERGAPOVERRIDEFROM1", 3240, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM2 = Field.create("TRIGGERGAPOVERRIDEFROM2", 3244, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM3 = Field.create("TRIGGERGAPOVERRIDEFROM3", 3248, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM4 = Field.create("TRIGGERGAPOVERRIDEFROM4", 3252, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM5 = Field.create("TRIGGERGAPOVERRIDEFROM5", 3256, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM6 = Field.create("TRIGGERGAPOVERRIDEFROM6", 3260, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM7 = Field.create("TRIGGERGAPOVERRIDEFROM7", 3264, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM8 = Field.create("TRIGGERGAPOVERRIDEFROM8", 3268, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM9 = Field.create("TRIGGERGAPOVERRIDEFROM9", 3272, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM10 = Field.create("TRIGGERGAPOVERRIDEFROM10", 3276, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM11 = Field.create("TRIGGERGAPOVERRIDEFROM11", 3280, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM12 = Field.create("TRIGGERGAPOVERRIDEFROM12", 3284, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM13 = Field.create("TRIGGERGAPOVERRIDEFROM13", 3288, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM14 = Field.create("TRIGGERGAPOVERRIDEFROM14", 3292, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM15 = Field.create("TRIGGERGAPOVERRIDEFROM15", 3296, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM16 = Field.create("TRIGGERGAPOVERRIDEFROM16", 3300, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM17 = Field.create("TRIGGERGAPOVERRIDEFROM17", 3304, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDEFROM18 = Field.create("TRIGGERGAPOVERRIDEFROM18", 3308, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO1 = Field.create("TRIGGERGAPOVERRIDETO1", 3312, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO2 = Field.create("TRIGGERGAPOVERRIDETO2", 3316, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO3 = Field.create("TRIGGERGAPOVERRIDETO3", 3320, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO4 = Field.create("TRIGGERGAPOVERRIDETO4", 3324, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO5 = Field.create("TRIGGERGAPOVERRIDETO5", 3328, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO6 = Field.create("TRIGGERGAPOVERRIDETO6", 3332, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO7 = Field.create("TRIGGERGAPOVERRIDETO7", 3336, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO8 = Field.create("TRIGGERGAPOVERRIDETO8", 3340, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO9 = Field.create("TRIGGERGAPOVERRIDETO9", 3344, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO10 = Field.create("TRIGGERGAPOVERRIDETO10", 3348, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO11 = Field.create("TRIGGERGAPOVERRIDETO11", 3352, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO12 = Field.create("TRIGGERGAPOVERRIDETO12", 3356, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO13 = Field.create("TRIGGERGAPOVERRIDETO13", 3360, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO14 = Field.create("TRIGGERGAPOVERRIDETO14", 3364, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO15 = Field.create("TRIGGERGAPOVERRIDETO15", 3368, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO16 = Field.create("TRIGGERGAPOVERRIDETO16", 3372, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO17 = Field.create("TRIGGERGAPOVERRIDETO17", 3376, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERGAPOVERRIDETO18 = Field.create("TRIGGERGAPOVERRIDETO18", 3380, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAXCAMPHASERESOLVERPM = Field.create("MAXCAMPHASERESOLVERPM", 3384, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field DFCODELAY = Field.create("DFCODELAY", 3385, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ACDELAY = Field.create("ACDELAY", 3386, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_3387 = Field.create("ALIGNMENTFILL_AT_3387", 3387, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FORDINJECTORSMALLPULSEBREAKPOINT = Field.create("FORDINJECTORSMALLPULSEBREAKPOINT", 3388, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field TPSTSPCORRVALUES = Field.create("TPSTSPCORRVALUES", 3390, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field ETBJAMINTEGRATORLIMIT = Field.create("ETBJAMINTEGRATORLIMIT", 3394, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPCAMLOBES = Field.create("HPFPCAMLOBES", 3395, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] hpfp_cam_e = {"NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2"}; - public static final Field HPFPCAM = Field.create("HPFPCAM", 3328, FieldType.INT8, hpfp_cam_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXILIARYSETTING1 = Field.create("AUXILIARYSETTING1", 3329, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPMINANGLE = Field.create("HPFPMINANGLE", 3330, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3331 = Field.create("ALIGNMENTFILL_AT_3331", 3331, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPPUMPVOLUME = Field.create("HPFPPUMPVOLUME", 3332, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field HPFPACTIVATIONANGLE = Field.create("HPFPACTIVATIONANGLE", 3334, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ISSFILTERRECIPROCAL = Field.create("ISSFILTERRECIPROCAL", 3335, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPPIDP = Field.create("HPFPPIDP", 3336, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field HPFPPIDI = Field.create("HPFPPIDI", 3338, FieldType.INT16).setScale(1.0E-5).setBaseOffset(0); - public static final Field HPFPTARGETDECAY = Field.create("HPFPTARGETDECAY", 3340, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field HPFPLOBEPROFILEQUANTITYBINS = Field.create("HPFPLOBEPROFILEQUANTITYBINS", 3342, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field HPFPLOBEPROFILEANGLE = Field.create("HPFPLOBEPROFILEANGLE", 3358, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field HPFPDEADTIMEVOLTSBINS = Field.create("HPFPDEADTIMEVOLTSBINS", 3374, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPDEADTIMEMS = Field.create("HPFPDEADTIMEMS", 3382, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field HPFPTARGET = Field.create("HPFPTARGET", 3398, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field HPFPTARGETLOADBINS = Field.create("HPFPTARGETLOADBINS", 3598, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field HPFPTARGETRPMBINS = Field.create("HPFPTARGETRPMBINS", 3618, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field HPFPCOMPENSATION = Field.create("HPFPCOMPENSATION", 3628, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HPFPCOMPENSATIONLOADBINS = Field.create("HPFPCOMPENSATIONLOADBINS", 3728, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field HPFPCOMPENSATIONRPMBINS = Field.create("HPFPCOMPENSATIONRPMBINS", 3748, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field STEPPER_RAW_OUTPUT1 = Field.create("STEPPER_RAW_OUTPUT1", 3758, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field STEPPER_RAW_OUTPUT2 = Field.create("STEPPER_RAW_OUTPUT2", 3760, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field STEPPER_RAW_OUTPUT3 = Field.create("STEPPER_RAW_OUTPUT3", 3762, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field STEPPER_RAW_OUTPUT4 = Field.create("STEPPER_RAW_OUTPUT4", 3764, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field GEARRATIO1 = Field.create("GEARRATIO1", 3766, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO2 = Field.create("GEARRATIO2", 3768, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO3 = Field.create("GEARRATIO3", 3770, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO4 = Field.create("GEARRATIO4", 3772, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO5 = Field.create("GEARRATIO5", 3774, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO6 = Field.create("GEARRATIO6", 3776, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO7 = Field.create("GEARRATIO7", 3778, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO8 = Field.create("GEARRATIO8", 3780, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO9 = Field.create("GEARRATIO9", 3782, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field GEARRATIO10 = Field.create("GEARRATIO10", 3784, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTACTIVATIONDELAYMS = Field.create("VVTACTIVATIONDELAYMS", 3786, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field WWCLTBINS = Field.create("WWCLTBINS", 3788, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field WWTAUCLTVALUES = Field.create("WWTAUCLTVALUES", 3796, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field WWBETACLTVALUES = Field.create("WWBETACLTVALUES", 3804, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field WWMAPBINS = Field.create("WWMAPBINS", 3812, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field WWTAUMAPVALUES = Field.create("WWTAUMAPVALUES", 3820, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field WWBETAMAPVALUES = Field.create("WWBETAMAPVALUES", 3828, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field TORQUETABLE = Field.create("TORQUETABLE", 3836, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field TORQUERPMBINS = Field.create("TORQUERPMBINS", 3872, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TORQUELOADBINS = Field.create("TORQUELOADBINS", 3884, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GEARCONTROLLERMODE = Field.create("GEARCONTROLLERMODE", 3896, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TRANSMISSIONCONTROLLERMODE = Field.create("TRANSMISSIONCONTROLLERMODE", 3897, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ACRDISABLEPHASE = Field.create("ACRDISABLEPHASE", 3898, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXLINEAR1_HWCHANNEL = Field.create("AUXLINEAR1_HWCHANNEL", 3900, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXLINEAR1_ALIGNMENTFILL_AT_1 = Field.create("AUXLINEAR1_ALIGNMENTFILL_AT_1", 3901, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AUXLINEAR1_V1 = Field.create("AUXLINEAR1_V1", 3904, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR1_VALUE1 = Field.create("AUXLINEAR1_VALUE1", 3908, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR1_V2 = Field.create("AUXLINEAR1_V2", 3912, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR1_VALUE2 = Field.create("AUXLINEAR1_VALUE2", 3916, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR2_HWCHANNEL = Field.create("AUXLINEAR2_HWCHANNEL", 3920, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AUXLINEAR2_ALIGNMENTFILL_AT_1 = Field.create("AUXLINEAR2_ALIGNMENTFILL_AT_1", 3921, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AUXLINEAR2_V1 = Field.create("AUXLINEAR2_V1", 3924, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR2_VALUE1 = Field.create("AUXLINEAR2_VALUE1", 3928, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR2_V2 = Field.create("AUXLINEAR2_V2", 3932, FieldType.FLOAT).setBaseOffset(0); - public static final Field AUXLINEAR2_VALUE2 = Field.create("AUXLINEAR2_VALUE2", 3936, FieldType.FLOAT).setBaseOffset(0); - public static final Field TCU_TCC_ONOFF_SOLENOID = Field.create("TCU_TCC_ONOFF_SOLENOID", 3940, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCC_ONOFF_SOLENOID_MODE = Field.create("TCU_TCC_ONOFF_SOLENOID_MODE", 3942, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3943 = Field.create("ALIGNMENTFILL_AT_3943", 3943, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCC_PWM_SOLENOID = Field.create("TCU_TCC_PWM_SOLENOID", 3944, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCC_PWM_SOLENOID_MODE = Field.create("TCU_TCC_PWM_SOLENOID_MODE", 3946, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3947 = Field.create("ALIGNMENTFILL_AT_3947", 3947, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCC_PWM_SOLENOID_FREQ = Field.create("TCU_TCC_PWM_SOLENOID_FREQ", 3948, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PC_SOLENOID_PIN = Field.create("TCU_PC_SOLENOID_PIN", 3950, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PC_SOLENOID_PIN_MODE = Field.create("TCU_PC_SOLENOID_PIN_MODE", 3952, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3953 = Field.create("ALIGNMENTFILL_AT_3953", 3953, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PC_SOLENOID_FREQ = Field.create("TCU_PC_SOLENOID_FREQ", 3954, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32_SOLENOID_PIN = Field.create("TCU_32_SOLENOID_PIN", 3956, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32_SOLENOID_PIN_MODE = Field.create("TCU_32_SOLENOID_PIN_MODE", 3958, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3959 = Field.create("ALIGNMENTFILL_AT_3959", 3959, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32_SOLENOID_FREQ = Field.create("TCU_32_SOLENOID_FREQ", 3960, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ACRPIN2 = Field.create("ACRPIN2", 3962, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field ETBMINIMUMPOSITION = Field.create("ETBMINIMUMPOSITION", 3964, FieldType.FLOAT).setBaseOffset(0); - public static final Field TUNEHIDINGKEY = Field.create("TUNEHIDINGKEY", 3968, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VINNUMBER = Field.create("VINNUMBER", 3970, 17, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_3987 = Field.create("ALIGNMENTFILL_AT_3987", 3987, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field HIGHSPEEDOFFSETS = Field.create("HIGHSPEEDOFFSETS", 3988, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ETBDUTYSHUTDOWNTHRESHOLD = Field.create("ETBDUTYSHUTDOWNTHRESHOLD", 4052, FieldType.FLOAT).setBaseOffset(0); + public static final Field HPFPCAM = Field.create("HPFPCAM", 3396, FieldType.INT8, hpfp_cam_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXILIARYSETTING1 = Field.create("AUXILIARYSETTING1", 3397, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPMINANGLE = Field.create("HPFPMINANGLE", 3398, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_3399 = Field.create("ALIGNMENTFILL_AT_3399", 3399, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPPUMPVOLUME = Field.create("HPFPPUMPVOLUME", 3400, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field HPFPACTIVATIONANGLE = Field.create("HPFPACTIVATIONANGLE", 3402, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ISSFILTERRECIPROCAL = Field.create("ISSFILTERRECIPROCAL", 3403, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPPIDP = Field.create("HPFPPIDP", 3404, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field HPFPPIDI = Field.create("HPFPPIDI", 3406, FieldType.INT16).setScale(1.0E-5).setBaseOffset(0); + public static final Field HPFPTARGETDECAY = Field.create("HPFPTARGETDECAY", 3408, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field HPFPLOBEPROFILEQUANTITYBINS = Field.create("HPFPLOBEPROFILEQUANTITYBINS", 3410, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field HPFPLOBEPROFILEANGLE = Field.create("HPFPLOBEPROFILEANGLE", 3426, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field HPFPDEADTIMEVOLTSBINS = Field.create("HPFPDEADTIMEVOLTSBINS", 3442, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPDEADTIMEMS = Field.create("HPFPDEADTIMEMS", 3450, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field HPFPTARGET = Field.create("HPFPTARGET", 3466, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field HPFPTARGETLOADBINS = Field.create("HPFPTARGETLOADBINS", 3666, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field HPFPTARGETRPMBINS = Field.create("HPFPTARGETRPMBINS", 3686, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field HPFPCOMPENSATION = Field.create("HPFPCOMPENSATION", 3696, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HPFPCOMPENSATIONLOADBINS = Field.create("HPFPCOMPENSATIONLOADBINS", 3796, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field HPFPCOMPENSATIONRPMBINS = Field.create("HPFPCOMPENSATIONRPMBINS", 3816, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field STEPPER_RAW_OUTPUT1 = Field.create("STEPPER_RAW_OUTPUT1", 3826, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field STEPPER_RAW_OUTPUT2 = Field.create("STEPPER_RAW_OUTPUT2", 3828, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field STEPPER_RAW_OUTPUT3 = Field.create("STEPPER_RAW_OUTPUT3", 3830, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field STEPPER_RAW_OUTPUT4 = Field.create("STEPPER_RAW_OUTPUT4", 3832, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field GEARRATIO1 = Field.create("GEARRATIO1", 3834, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO2 = Field.create("GEARRATIO2", 3836, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO3 = Field.create("GEARRATIO3", 3838, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO4 = Field.create("GEARRATIO4", 3840, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO5 = Field.create("GEARRATIO5", 3842, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO6 = Field.create("GEARRATIO6", 3844, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO7 = Field.create("GEARRATIO7", 3846, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO8 = Field.create("GEARRATIO8", 3848, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO9 = Field.create("GEARRATIO9", 3850, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field GEARRATIO10 = Field.create("GEARRATIO10", 3852, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTACTIVATIONDELAYMS = Field.create("VVTACTIVATIONDELAYMS", 3854, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field WWCLTBINS = Field.create("WWCLTBINS", 3856, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field WWTAUCLTVALUES = Field.create("WWTAUCLTVALUES", 3864, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field WWBETACLTVALUES = Field.create("WWBETACLTVALUES", 3872, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field WWMAPBINS = Field.create("WWMAPBINS", 3880, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field WWTAUMAPVALUES = Field.create("WWTAUMAPVALUES", 3888, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field WWBETAMAPVALUES = Field.create("WWBETAMAPVALUES", 3896, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field TORQUETABLE = Field.create("TORQUETABLE", 3904, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field TORQUERPMBINS = Field.create("TORQUERPMBINS", 3940, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TORQUELOADBINS = Field.create("TORQUELOADBINS", 3952, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GEARCONTROLLERMODE = Field.create("GEARCONTROLLERMODE", 3964, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TRANSMISSIONCONTROLLERMODE = Field.create("TRANSMISSIONCONTROLLERMODE", 3965, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ACRDISABLEPHASE = Field.create("ACRDISABLEPHASE", 3966, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXLINEAR1_HWCHANNEL = Field.create("AUXLINEAR1_HWCHANNEL", 3968, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXLINEAR1_ALIGNMENTFILL_AT_1 = Field.create("AUXLINEAR1_ALIGNMENTFILL_AT_1", 3969, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AUXLINEAR1_V1 = Field.create("AUXLINEAR1_V1", 3972, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR1_VALUE1 = Field.create("AUXLINEAR1_VALUE1", 3976, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR1_V2 = Field.create("AUXLINEAR1_V2", 3980, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR1_VALUE2 = Field.create("AUXLINEAR1_VALUE2", 3984, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR2_HWCHANNEL = Field.create("AUXLINEAR2_HWCHANNEL", 3988, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AUXLINEAR2_ALIGNMENTFILL_AT_1 = Field.create("AUXLINEAR2_ALIGNMENTFILL_AT_1", 3989, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AUXLINEAR2_V1 = Field.create("AUXLINEAR2_V1", 3992, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR2_VALUE1 = Field.create("AUXLINEAR2_VALUE1", 3996, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR2_V2 = Field.create("AUXLINEAR2_V2", 4000, FieldType.FLOAT).setBaseOffset(0); + public static final Field AUXLINEAR2_VALUE2 = Field.create("AUXLINEAR2_VALUE2", 4004, FieldType.FLOAT).setBaseOffset(0); + public static final Field TCU_TCC_ONOFF_SOLENOID = Field.create("TCU_TCC_ONOFF_SOLENOID", 4008, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCC_ONOFF_SOLENOID_MODE = Field.create("TCU_TCC_ONOFF_SOLENOID_MODE", 4010, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4011 = Field.create("ALIGNMENTFILL_AT_4011", 4011, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCC_PWM_SOLENOID = Field.create("TCU_TCC_PWM_SOLENOID", 4012, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCC_PWM_SOLENOID_MODE = Field.create("TCU_TCC_PWM_SOLENOID_MODE", 4014, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4015 = Field.create("ALIGNMENTFILL_AT_4015", 4015, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCC_PWM_SOLENOID_FREQ = Field.create("TCU_TCC_PWM_SOLENOID_FREQ", 4016, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PC_SOLENOID_PIN = Field.create("TCU_PC_SOLENOID_PIN", 4018, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PC_SOLENOID_PIN_MODE = Field.create("TCU_PC_SOLENOID_PIN_MODE", 4020, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4021 = Field.create("ALIGNMENTFILL_AT_4021", 4021, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PC_SOLENOID_FREQ = Field.create("TCU_PC_SOLENOID_FREQ", 4022, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32_SOLENOID_PIN = Field.create("TCU_32_SOLENOID_PIN", 4024, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32_SOLENOID_PIN_MODE = Field.create("TCU_32_SOLENOID_PIN_MODE", 4026, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4027 = Field.create("ALIGNMENTFILL_AT_4027", 4027, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32_SOLENOID_FREQ = Field.create("TCU_32_SOLENOID_FREQ", 4028, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ACRPIN2 = Field.create("ACRPIN2", 4030, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field ETBMINIMUMPOSITION = Field.create("ETBMINIMUMPOSITION", 4032, FieldType.FLOAT).setBaseOffset(0); + public static final Field TUNEHIDINGKEY = Field.create("TUNEHIDINGKEY", 4036, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VINNUMBER = Field.create("VINNUMBER", 4038, 17, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4055 = Field.create("ALIGNMENTFILL_AT_4055", 4055, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field HIGHSPEEDOFFSETS = Field.create("HIGHSPEEDOFFSETS", 4056, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ETBDUTYSHUTDOWNTHRESHOLD = Field.create("ETBDUTYSHUTDOWNTHRESHOLD", 4120, FieldType.FLOAT).setBaseOffset(0); public static final String[] fuel_pressure_sensor_mode_e = {"Absolute", "Gauge", "Differential", "INVALID"}; - public static final Field FUELPRESSURESENSORMODE = Field.create("FUELPRESSURESENSORMODE", 4056, FieldType.INT8, fuel_pressure_sensor_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_4057 = Field.create("ALIGNMENTFILL_AT_4057", 4057, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS1 = Field.create("LUADIGITALINPUTPINS1", 4058, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS2 = Field.create("LUADIGITALINPUTPINS2", 4060, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS3 = Field.create("LUADIGITALINPUTPINS3", 4062, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS4 = Field.create("LUADIGITALINPUTPINS4", 4064, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS5 = Field.create("LUADIGITALINPUTPINS5", 4066, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS6 = Field.create("LUADIGITALINPUTPINS6", 4068, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS7 = Field.create("LUADIGITALINPUTPINS7", 4070, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINS8 = Field.create("LUADIGITALINPUTPINS8", 4072, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TPSTSPCORRVALUESBINS = Field.create("TPSTSPCORRVALUESBINS", 4074, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field ALSMINRPM = Field.create("ALSMINRPM", 4078, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSMAXRPM = Field.create("ALSMAXRPM", 4080, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSMAXDURATION = Field.create("ALSMAXDURATION", 4082, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSMINCLT = Field.create("ALSMINCLT", 4084, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALSMAXCLT = Field.create("ALSMAXCLT", 4085, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALSMINTIMEBETWEEN = Field.create("ALSMINTIMEBETWEEN", 4086, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALSETBPOSITION = Field.create("ALSETBPOSITION", 4087, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ACRELAYALTERNATORDUTYADDER = Field.create("ACRELAYALTERNATORDUTYADDER", 4088, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FUELPRESSURESENSORMODE = Field.create("FUELPRESSURESENSORMODE", 4124, FieldType.INT8, fuel_pressure_sensor_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4125 = Field.create("ALIGNMENTFILL_AT_4125", 4125, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS1 = Field.create("LUADIGITALINPUTPINS1", 4126, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS2 = Field.create("LUADIGITALINPUTPINS2", 4128, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS3 = Field.create("LUADIGITALINPUTPINS3", 4130, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS4 = Field.create("LUADIGITALINPUTPINS4", 4132, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS5 = Field.create("LUADIGITALINPUTPINS5", 4134, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS6 = Field.create("LUADIGITALINPUTPINS6", 4136, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS7 = Field.create("LUADIGITALINPUTPINS7", 4138, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINS8 = Field.create("LUADIGITALINPUTPINS8", 4140, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TPSTSPCORRVALUESBINS = Field.create("TPSTSPCORRVALUESBINS", 4142, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field ALSMINRPM = Field.create("ALSMINRPM", 4146, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSMAXRPM = Field.create("ALSMAXRPM", 4148, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSMAXDURATION = Field.create("ALSMAXDURATION", 4150, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSMINCLT = Field.create("ALSMINCLT", 4152, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALSMAXCLT = Field.create("ALSMAXCLT", 4153, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALSMINTIMEBETWEEN = Field.create("ALSMINTIMEBETWEEN", 4154, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALSETBPOSITION = Field.create("ALSETBPOSITION", 4155, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ACRELAYALTERNATORDUTYADDER = Field.create("ACRELAYALTERNATORDUTYADDER", 4156, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final String[] SentEtbType = {"None", "GM type 1", "Ford type 1", "Custom"}; - public static final Field SENTETBTYPE = Field.create("SENTETBTYPE", 4089, FieldType.INT8, SentEtbType).setScale(1.0).setBaseOffset(0); - public static final Field CUSTOMSENTTPSMIN = Field.create("CUSTOMSENTTPSMIN", 4090, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSIDLEADD = Field.create("ALSIDLEADD", 4092, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field ALSETBADD = Field.create("ALSETBADD", 4096, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field ALSSKIPRATIO = Field.create("ALSSKIPRATIO", 4100, FieldType.FLOAT).setBaseOffset(0); - public static final Field ALSMAXDRIVERTHROTTLEINTENT = Field.create("ALSMAXDRIVERTHROTTLEINTENT", 4104, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALSACTIVATEPINMODE = Field.create("ALSACTIVATEPINMODE", 4105, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TPSSECONDARYMAXIMUM = Field.create("TPSSECONDARYMAXIMUM", 4106, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field PPSSECONDARYMAXIMUM = Field.create("PPSSECONDARYMAXIMUM", 4107, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES1 = Field.create("LUADIGITALINPUTPINMODES1", 4108, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES2 = Field.create("LUADIGITALINPUTPINMODES2", 4109, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES3 = Field.create("LUADIGITALINPUTPINMODES3", 4110, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES4 = Field.create("LUADIGITALINPUTPINMODES4", 4111, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES5 = Field.create("LUADIGITALINPUTPINMODES5", 4112, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES6 = Field.create("LUADIGITALINPUTPINMODES6", 4113, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES7 = Field.create("LUADIGITALINPUTPINMODES7", 4114, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field LUADIGITALINPUTPINMODES8 = Field.create("LUADIGITALINPUTPINMODES8", 4115, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field CUSTOMSENTTPSMAX = Field.create("CUSTOMSENTTPSMAX", 4116, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field KLINEBAUDRATE = Field.create("KLINEBAUDRATE", 4118, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SENTETBTYPE = Field.create("SENTETBTYPE", 4157, FieldType.INT8, SentEtbType).setScale(1.0).setBaseOffset(0); + public static final Field CUSTOMSENTTPSMIN = Field.create("CUSTOMSENTTPSMIN", 4158, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSIDLEADD = Field.create("ALSIDLEADD", 4160, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field ALSETBADD = Field.create("ALSETBADD", 4164, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field ALSSKIPRATIO = Field.create("ALSSKIPRATIO", 4168, FieldType.FLOAT).setBaseOffset(0); + public static final Field ALSMAXDRIVERTHROTTLEINTENT = Field.create("ALSMAXDRIVERTHROTTLEINTENT", 4172, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALSACTIVATEPINMODE = Field.create("ALSACTIVATEPINMODE", 4173, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TPSSECONDARYMAXIMUM = Field.create("TPSSECONDARYMAXIMUM", 4174, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field PPSSECONDARYMAXIMUM = Field.create("PPSSECONDARYMAXIMUM", 4175, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES1 = Field.create("LUADIGITALINPUTPINMODES1", 4176, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES2 = Field.create("LUADIGITALINPUTPINMODES2", 4177, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES3 = Field.create("LUADIGITALINPUTPINMODES3", 4178, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES4 = Field.create("LUADIGITALINPUTPINMODES4", 4179, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES5 = Field.create("LUADIGITALINPUTPINMODES5", 4180, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES6 = Field.create("LUADIGITALINPUTPINMODES6", 4181, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES7 = Field.create("LUADIGITALINPUTPINMODES7", 4182, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field LUADIGITALINPUTPINMODES8 = Field.create("LUADIGITALINPUTPINMODES8", 4183, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field CUSTOMSENTTPSMAX = Field.create("CUSTOMSENTTPSMAX", 4184, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field KLINEBAUDRATE = Field.create("KLINEBAUDRATE", 4186, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final String[] CanGpioType = {"None", "DRT protocol", "MS protocol"}; - public static final Field CANGPIOTYPE = Field.create("CANGPIOTYPE", 4120, FieldType.INT8, CanGpioType).setScale(1.0).setBaseOffset(0); + public static final Field CANGPIOTYPE = Field.create("CANGPIOTYPE", 4188, FieldType.INT8, CanGpioType).setScale(1.0).setBaseOffset(0); public static final String[] UiMode = {"Full", "Installation", "Tuning"}; - public static final Field UIMODE = Field.create("UIMODE", 4121, FieldType.INT8, UiMode).setScale(1.0).setBaseOffset(0); - public static final Field HPFPPEAKPOS = Field.create("HPFPPEAKPOS", 4122, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field KLINEPERIODUS = Field.create("KLINEPERIODUS", 4124, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RPMSOFTLIMITWINDOWSIZE = Field.create("RPMSOFTLIMITWINDOWSIZE", 4126, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field RPMSOFTLIMITTIMINGRETARD = Field.create("RPMSOFTLIMITTIMINGRETARD", 4127, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field RPMSOFTLIMITFUELADDED = Field.create("RPMSOFTLIMITFUELADDED", 4128, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field RPMHARDLIMITHYST = Field.create("RPMHARDLIMITHYST", 4129, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field BENCHTESTOFFTIME = Field.create("BENCHTESTOFFTIME", 4130, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCUTPRESSUREHYST = Field.create("BOOSTCUTPRESSUREHYST", 4132, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GEARBASEDOPENLOOPBOOSTADDER = Field.create("GEARBASEDOPENLOOPBOOSTADDER", 4133, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_4143 = Field.create("ALIGNMENTFILL_AT_4143", 4143, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BENCHTESTCOUNT = Field.create("BENCHTESTCOUNT", 4144, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field IACBYTPSHOLDTIME = Field.create("IACBYTPSHOLDTIME", 4148, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field IACBYTPSDECAYTIME = Field.create("IACBYTPSDECAYTIME", 4149, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field TCU_RANGEINPUT1 = Field.create("TCU_RANGEINPUT1", 4150, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUT2 = Field.create("TCU_RANGEINPUT2", 4152, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUT3 = Field.create("TCU_RANGEINPUT3", 4154, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUT4 = Field.create("TCU_RANGEINPUT4", 4156, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUT5 = Field.create("TCU_RANGEINPUT5", 4158, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUT6 = Field.create("TCU_RANGEINPUT6", 4160, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUTMODE1 = Field.create("TCU_RANGEINPUTMODE1", 4162, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUTMODE2 = Field.create("TCU_RANGEINPUTMODE2", 4163, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUTMODE3 = Field.create("TCU_RANGEINPUTMODE3", 4164, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUTMODE4 = Field.create("TCU_RANGEINPUTMODE4", 4165, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUTMODE5 = Field.create("TCU_RANGEINPUTMODE5", 4166, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEINPUTMODE6 = Field.create("TCU_RANGEINPUTMODE6", 4167, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); - public static final Field CANVSSSCALING = Field.create("CANVSSSCALING", 4168, FieldType.INT16).setScale(1.0E-4).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_4170 = Field.create("ALIGNMENTFILL_AT_4170", 4170, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field OILTEMPSENSOR_TEMPC_1 = Field.create("OILTEMPSENSOR_TEMPC_1", 4172, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_TEMPC_2 = Field.create("OILTEMPSENSOR_TEMPC_2", 4176, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_TEMPC_3 = Field.create("OILTEMPSENSOR_TEMPC_3", 4180, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_RESISTANCE_1 = Field.create("OILTEMPSENSOR_RESISTANCE_1", 4184, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_RESISTANCE_2 = Field.create("OILTEMPSENSOR_RESISTANCE_2", 4188, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_RESISTANCE_3 = Field.create("OILTEMPSENSOR_RESISTANCE_3", 4192, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_BIAS_RESISTOR = Field.create("OILTEMPSENSOR_BIAS_RESISTOR", 4196, FieldType.FLOAT).setBaseOffset(0); - public static final Field OILTEMPSENSOR_ADCCHANNEL = Field.create("OILTEMPSENSOR_ADCCHANNEL", 4200, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field OILTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("OILTEMPSENSOR_ALIGNMENTFILL_AT_29", 4201, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_TEMPC_1 = Field.create("FUELTEMPSENSOR_TEMPC_1", 4204, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_TEMPC_2 = Field.create("FUELTEMPSENSOR_TEMPC_2", 4208, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_TEMPC_3 = Field.create("FUELTEMPSENSOR_TEMPC_3", 4212, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_RESISTANCE_1 = Field.create("FUELTEMPSENSOR_RESISTANCE_1", 4216, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_RESISTANCE_2 = Field.create("FUELTEMPSENSOR_RESISTANCE_2", 4220, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_RESISTANCE_3 = Field.create("FUELTEMPSENSOR_RESISTANCE_3", 4224, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_BIAS_RESISTOR = Field.create("FUELTEMPSENSOR_BIAS_RESISTOR", 4228, FieldType.FLOAT).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_ADCCHANNEL = Field.create("FUELTEMPSENSOR_ADCCHANNEL", 4232, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field FUELTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("FUELTEMPSENSOR_ALIGNMENTFILL_AT_29", 4233, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_TEMPC_1 = Field.create("AMBIENTTEMPSENSOR_TEMPC_1", 4236, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_TEMPC_2 = Field.create("AMBIENTTEMPSENSOR_TEMPC_2", 4240, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_TEMPC_3 = Field.create("AMBIENTTEMPSENSOR_TEMPC_3", 4244, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_RESISTANCE_1 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_1", 4248, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_RESISTANCE_2 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_2", 4252, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_RESISTANCE_3 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_3", 4256, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_BIAS_RESISTOR = Field.create("AMBIENTTEMPSENSOR_BIAS_RESISTOR", 4260, FieldType.FLOAT).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_ADCCHANNEL = Field.create("AMBIENTTEMPSENSOR_ADCCHANNEL", 4264, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29", 4265, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_1 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_1", 4268, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_2 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_2", 4272, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_3 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_3", 4276, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1", 4280, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2", 4284, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3", 4288, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR = Field.create("COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR", 4292, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL = Field.create("COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL", 4296, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29 = Field.create("COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29", 4297, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEINLETPRESSURECHANNEL = Field.create("THROTTLEINLETPRESSURECHANNEL", 4300, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field COMPRESSORDISCHARGEPRESSURECHANNEL = Field.create("COMPRESSORDISCHARGEPRESSURECHANNEL", 4301, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field DACOUTPUTPINS1 = Field.create("DACOUTPUTPINS1", 4302, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field DACOUTPUTPINS2 = Field.create("DACOUTPUTPINS2", 4304, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field SPEEDOMETEROUTPUTPIN = Field.create("SPEEDOMETEROUTPUTPIN", 4306, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field SPEEDOMETERPULSEPERKM = Field.create("SPEEDOMETERPULSEPERKM", 4308, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SIMULATORCAMPOSITION1 = Field.create("SIMULATORCAMPOSITION1", 4310, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SIMULATORCAMPOSITION2 = Field.create("SIMULATORCAMPOSITION2", 4311, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SIMULATORCAMPOSITION3 = Field.create("SIMULATORCAMPOSITION3", 4312, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SIMULATORCAMPOSITION4 = Field.create("SIMULATORCAMPOSITION4", 4313, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNKEYADCCHANNEL = Field.create("IGNKEYADCCHANNEL", 4314, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDEXPLICITFILLING2 = Field.create("UNUSEDEXPLICITFILLING2", 4315, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDEFROM1 = Field.create("TRIGGERVVTGAPOVERRIDEFROM1", 4316, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDEFROM2 = Field.create("TRIGGERVVTGAPOVERRIDEFROM2", 4320, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDEFROM3 = Field.create("TRIGGERVVTGAPOVERRIDEFROM3", 4324, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDEFROM4 = Field.create("TRIGGERVVTGAPOVERRIDEFROM4", 4328, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDETO1 = Field.create("TRIGGERVVTGAPOVERRIDETO1", 4332, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDETO2 = Field.create("TRIGGERVVTGAPOVERRIDETO2", 4336, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDETO3 = Field.create("TRIGGERVVTGAPOVERRIDETO3", 4340, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRIGGERVVTGAPOVERRIDETO4 = Field.create("TRIGGERVVTGAPOVERRIDETO4", 4344, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRACTIONCONTROLETBDROP = Field.create("TRACTIONCONTROLETBDROP", 4348, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXINJECTORDUTYINSTANT = Field.create("MAXINJECTORDUTYINSTANT", 4384, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXINJECTORDUTYSUSTAINED = Field.create("MAXINJECTORDUTYSUSTAINED", 4385, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXINJECTORDUTYSUSTAINEDTIMEOUT = Field.create("MAXINJECTORDUTYSUSTAINEDTIMEOUT", 4386, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_4387 = Field.create("ALIGNMENTFILL_AT_4387", 4387, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE21 = Field.create("INJECTIONPINSSTAGE21", 4388, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE22 = Field.create("INJECTIONPINSSTAGE22", 4390, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE23 = Field.create("INJECTIONPINSSTAGE23", 4392, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE24 = Field.create("INJECTIONPINSSTAGE24", 4394, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE25 = Field.create("INJECTIONPINSSTAGE25", 4396, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE26 = Field.create("INJECTIONPINSSTAGE26", 4398, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE27 = Field.create("INJECTIONPINSSTAGE27", 4400, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE28 = Field.create("INJECTIONPINSSTAGE28", 4402, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE29 = Field.create("INJECTIONPINSSTAGE29", 4404, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE210 = Field.create("INJECTIONPINSSTAGE210", 4406, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE211 = Field.create("INJECTIONPINSSTAGE211", 4408, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field INJECTIONPINSSTAGE212 = Field.create("INJECTIONPINSSTAGE212", 4410, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final Field MAINUNUSEDEND = Field.create("MAINUNUSEDEND", 4412, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ETBBIASBINS = Field.create("ETBBIASBINS", 4580, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBBIASVALUES = Field.create("ETBBIASVALUES", 4612, FieldType.FLOAT).setBaseOffset(0); - public static final Field IACPIDMULTTABLE = Field.create("IACPIDMULTTABLE", 4644, FieldType.INT8).setScale(0.05).setBaseOffset(0); - public static final Field IACPIDMULTLOADBINS = Field.create("IACPIDMULTLOADBINS", 4708, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IACPIDMULTRPMBINS = Field.create("IACPIDMULTRPMBINS", 4716, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field SPARKDWELLRPMBINS = Field.create("SPARKDWELLRPMBINS", 4724, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SPARKDWELLVALUES = Field.create("SPARKDWELLVALUES", 4740, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field CLTIDLERPMBINS = Field.create("CLTIDLERPMBINS", 4756, FieldType.INT8).setScale(2.0).setBaseOffset(0); - public static final Field CLTIDLERPM = Field.create("CLTIDLERPM", 4772, FieldType.INT8).setScale(20.0).setBaseOffset(0); - public static final Field CLTTIMINGBINS = Field.create("CLTTIMINGBINS", 4788, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTTIMINGEXTRA = Field.create("CLTTIMINGEXTRA", 4820, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE1BINS = Field.create("SCRIPTCURVE1BINS", 4852, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE1 = Field.create("SCRIPTCURVE1", 4916, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE2BINS = Field.create("SCRIPTCURVE2BINS", 4980, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE2 = Field.create("SCRIPTCURVE2", 5044, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE3BINS = Field.create("SCRIPTCURVE3BINS", 5108, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE3 = Field.create("SCRIPTCURVE3", 5140, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE4BINS = Field.create("SCRIPTCURVE4BINS", 5172, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE4 = Field.create("SCRIPTCURVE4", 5204, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE5BINS = Field.create("SCRIPTCURVE5BINS", 5236, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE5 = Field.create("SCRIPTCURVE5", 5268, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE6BINS = Field.create("SCRIPTCURVE6BINS", 5300, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE6 = Field.create("SCRIPTCURVE6", 5332, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROCORRPRESSUREBINS = Field.create("BAROCORRPRESSUREBINS", 5364, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROCORRRPMBINS = Field.create("BAROCORRRPMBINS", 5380, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROCORRTABLE = Field.create("BAROCORRTABLE", 5396, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGTPSCOEF = Field.create("CRANKINGTPSCOEF", 5460, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGTPSBINS = Field.create("CRANKINGTPSBINS", 5492, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGADVANCEBINS = Field.create("CRANKINGADVANCEBINS", 5524, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CRANKINGADVANCE = Field.create("CRANKINGADVANCE", 5532, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IACCOASTINGRPMBINS = Field.create("IACCOASTINGRPMBINS", 5540, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field IACCOASTING = Field.create("IACCOASTING", 5556, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field WARNING_MESSAGE = Field.create("WARNING_MESSAGE", 5572, 120, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field AFTERSTARTCOOLANTBINS = Field.create("AFTERSTARTCOOLANTBINS", 5692, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFTERSTARTHOLDTIME = Field.create("AFTERSTARTHOLDTIME", 5724, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFTERSTARTENRICH = Field.create("AFTERSTARTENRICH", 5756, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFTERSTARTDECAYTIME = Field.create("AFTERSTARTDECAYTIME", 5788, FieldType.FLOAT).setBaseOffset(0); - public static final Field BOOSTTABLEOPENLOOP = Field.create("BOOSTTABLEOPENLOOP", 5820, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTRPMBINS = Field.create("BOOSTRPMBINS", 5884, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field BOOSTTABLECLOSEDLOOP = Field.create("BOOSTTABLECLOSEDLOOP", 5892, FieldType.INT8).setScale(2.0).setBaseOffset(0); - public static final Field BOOSTTPSBINS = Field.create("BOOSTTPSBINS", 5956, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PEDALTOTPSTABLE = Field.create("PEDALTOTPSTABLE", 5964, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PEDALTOTPSPEDALBINS = Field.create("PEDALTOTPSPEDALBINS", 6028, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PEDALTOTPSRPMBINS = Field.create("PEDALTOTPSRPMBINS", 6036, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field CLTCRANKINGCORRBINS = Field.create("CLTCRANKINGCORRBINS", 6044, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTCRANKINGCORR = Field.create("CLTCRANKINGCORR", 6076, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLEADVANCEBINS = Field.create("IDLEADVANCEBINS", 6108, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field IDLEADVANCE = Field.create("IDLEADVANCE", 6116, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLEVERPMBINS = Field.create("IDLEVERPMBINS", 6148, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field IDLEVELOADBINS = Field.create("IDLEVELOADBINS", 6152, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IDLEVETABLE = Field.create("IDLEVETABLE", 6156, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field LUASCRIPT = Field.create("LUASCRIPT", 6188, 8000, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field CLTFUELCORRBINS = Field.create("CLTFUELCORRBINS", 14188, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTFUELCORR = Field.create("CLTFUELCORR", 14252, FieldType.FLOAT).setBaseOffset(0); - public static final Field IATFUELCORRBINS = Field.create("IATFUELCORRBINS", 14316, FieldType.FLOAT).setBaseOffset(0); - public static final Field IATFUELCORR = Field.create("IATFUELCORR", 14380, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGFUELCOEF = Field.create("CRANKINGFUELCOEF", 14444, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGFUELBINS = Field.create("CRANKINGFUELBINS", 14476, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGCYCLECOEF = Field.create("CRANKINGCYCLECOEF", 14508, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGCYCLEBINS = Field.create("CRANKINGCYCLEBINS", 14540, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTIDLECORRBINS = Field.create("CLTIDLECORRBINS", 14572, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTIDLECORR = Field.create("CLTIDLECORR", 14636, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAFDECODING = Field.create("MAFDECODING", 14700, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAFDECODINGBINS = Field.create("MAFDECODINGBINS", 14828, FieldType.FLOAT).setBaseOffset(0); - public static final Field IGNITIONIATCORRTABLE = Field.create("IGNITIONIATCORRTABLE", 14956, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field IGNITIONIATCORRTEMPBINS = Field.create("IGNITIONIATCORRTEMPBINS", 15020, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONIATCORRLOADBINS = Field.create("IGNITIONIATCORRLOADBINS", 15028, FieldType.INT8).setScale(5.0).setBaseOffset(0); - public static final Field INJECTIONPHASE = Field.create("INJECTIONPHASE", 15036, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJPHASELOADBINS = Field.create("INJPHASELOADBINS", 15548, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJPHASERPMBINS = Field.create("INJPHASERPMBINS", 15580, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TCUSOLENOIDTABLE = Field.create("TCUSOLENOIDTABLE", 15612, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAPESTIMATETABLE = Field.create("MAPESTIMATETABLE", 15672, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field MAPESTIMATETPSBINS = Field.create("MAPESTIMATETPSBINS", 16184, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field MAPESTIMATERPMBINS = Field.create("MAPESTIMATERPMBINS", 16216, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE1 = Field.create("VVTTABLE1", 16248, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE1LOADBINS = Field.create("VVTTABLE1LOADBINS", 16312, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE1RPMBINS = Field.create("VVTTABLE1RPMBINS", 16328, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE2 = Field.create("VVTTABLE2", 16344, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE2LOADBINS = Field.create("VVTTABLE2LOADBINS", 16408, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE2RPMBINS = Field.create("VVTTABLE2RPMBINS", 16424, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONTABLE = Field.create("IGNITIONTABLE", 16440, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNITIONLOADBINS = Field.create("IGNITIONLOADBINS", 16952, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONRPMBINS = Field.create("IGNITIONRPMBINS", 16984, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VETABLE = Field.create("VETABLE", 17016, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VELOADBINS = Field.create("VELOADBINS", 17528, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VERPMBINS = Field.create("VERPMBINS", 17560, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDATABLE = Field.create("LAMBDATABLE", 17592, FieldType.INT8).setScale(0.006802721088435374).setBaseOffset(0); - public static final Field LAMBDALOADBINS = Field.create("LAMBDALOADBINS", 17848, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDARPMBINS = Field.create("LAMBDARPMBINS", 17880, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSTPSACCELTABLE = Field.create("TPSTPSACCELTABLE", 17912, FieldType.FLOAT).setBaseOffset(0); - public static final Field TPSTPSACCELFROMRPMBINS = Field.create("TPSTPSACCELFROMRPMBINS", 18168, FieldType.FLOAT).setBaseOffset(0); - public static final Field TPSTPSACCELTORPMBINS = Field.create("TPSTPSACCELTORPMBINS", 18200, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTTABLE1 = Field.create("SCRIPTTABLE1", 18232, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTTABLE1LOADBINS = Field.create("SCRIPTTABLE1LOADBINS", 18488, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE1RPMBINS = Field.create("SCRIPTTABLE1RPMBINS", 18504, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE2 = Field.create("SCRIPTTABLE2", 18520, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE2LOADBINS = Field.create("SCRIPTTABLE2LOADBINS", 18584, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE2RPMBINS = Field.create("SCRIPTTABLE2RPMBINS", 18600, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE3 = Field.create("SCRIPTTABLE3", 18616, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE3LOADBINS = Field.create("SCRIPTTABLE3LOADBINS", 18680, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE3RPMBINS = Field.create("SCRIPTTABLE3RPMBINS", 18696, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE4 = Field.create("SCRIPTTABLE4", 18712, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE4LOADBINS = Field.create("SCRIPTTABLE4LOADBINS", 18792, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE4RPMBINS = Field.create("SCRIPTTABLE4RPMBINS", 18808, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNTRIMLOADBINS = Field.create("IGNTRIMLOADBINS", 18828, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNTRIMRPMBINS = Field.create("IGNTRIMRPMBINS", 18836, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNTRIMS1_TABLE = Field.create("IGNTRIMS1_TABLE", 18844, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS2_TABLE = Field.create("IGNTRIMS2_TABLE", 18860, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS3_TABLE = Field.create("IGNTRIMS3_TABLE", 18876, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS4_TABLE = Field.create("IGNTRIMS4_TABLE", 18892, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS5_TABLE = Field.create("IGNTRIMS5_TABLE", 18908, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS6_TABLE = Field.create("IGNTRIMS6_TABLE", 18924, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS7_TABLE = Field.create("IGNTRIMS7_TABLE", 18940, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS8_TABLE = Field.create("IGNTRIMS8_TABLE", 18956, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS9_TABLE = Field.create("IGNTRIMS9_TABLE", 18972, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS10_TABLE = Field.create("IGNTRIMS10_TABLE", 18988, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS11_TABLE = Field.create("IGNTRIMS11_TABLE", 19004, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS12_TABLE = Field.create("IGNTRIMS12_TABLE", 19020, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMLOADBINS = Field.create("FUELTRIMLOADBINS", 19036, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field FUELTRIMRPMBINS = Field.create("FUELTRIMRPMBINS", 19044, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field FUELTRIMS1_TABLE = Field.create("FUELTRIMS1_TABLE", 19052, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS2_TABLE = Field.create("FUELTRIMS2_TABLE", 19068, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS3_TABLE = Field.create("FUELTRIMS3_TABLE", 19084, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS4_TABLE = Field.create("FUELTRIMS4_TABLE", 19100, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS5_TABLE = Field.create("FUELTRIMS5_TABLE", 19116, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS6_TABLE = Field.create("FUELTRIMS6_TABLE", 19132, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS7_TABLE = Field.create("FUELTRIMS7_TABLE", 19148, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS8_TABLE = Field.create("FUELTRIMS8_TABLE", 19164, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS9_TABLE = Field.create("FUELTRIMS9_TABLE", 19180, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS10_TABLE = Field.create("FUELTRIMS10_TABLE", 19196, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS11_TABLE = Field.create("FUELTRIMS11_TABLE", 19212, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS12_TABLE = Field.create("FUELTRIMS12_TABLE", 19228, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field CRANKINGFUELCOEFE100 = Field.create("CRANKINGFUELCOEFE100", 19244, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TCU_PCAIRMASSBINS = Field.create("TCU_PCAIRMASSBINS", 19260, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field TCU_PCVALSR = Field.create("TCU_PCVALSR", 19268, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALSN = Field.create("TCU_PCVALSN", 19276, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS1 = Field.create("TCU_PCVALS1", 19284, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS2 = Field.create("TCU_PCVALS2", 19292, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS3 = Field.create("TCU_PCVALS3", 19300, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS4 = Field.create("TCU_PCVALS4", 19308, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS12 = Field.create("TCU_PCVALS12", 19316, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS23 = Field.create("TCU_PCVALS23", 19324, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS34 = Field.create("TCU_PCVALS34", 19332, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS21 = Field.create("TCU_PCVALS21", 19340, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS32 = Field.create("TCU_PCVALS32", 19348, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS43 = Field.create("TCU_PCVALS43", 19356, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCCTPSBINS = Field.create("TCU_TCCTPSBINS", 19364, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCCLOCKSPEED = Field.create("TCU_TCCLOCKSPEED", 19372, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCCUNLOCKSPEED = Field.create("TCU_TCCUNLOCKSPEED", 19380, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32SPEEDBINS = Field.create("TCU_32SPEEDBINS", 19388, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32VALS = Field.create("TCU_32VALS", 19396, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLE2TRIMTABLE = Field.create("THROTTLE2TRIMTABLE", 19404, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field THROTTLE2TRIMTPSBINS = Field.create("THROTTLE2TRIMTPSBINS", 19440, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLE2TRIMRPMBINS = Field.create("THROTTLE2TRIMRPMBINS", 19446, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field MAXKNOCKRETARDTABLE = Field.create("MAXKNOCKRETARDTABLE", 19452, FieldType.INT8).setScale(0.25).setBaseOffset(0); - public static final Field MAXKNOCKRETARDLOADBINS = Field.create("MAXKNOCKRETARDLOADBINS", 19488, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXKNOCKRETARDRPMBINS = Field.create("MAXKNOCKRETARDRPMBINS", 19494, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field ALSTIMINGRETARDTABLE = Field.create("ALSTIMINGRETARDTABLE", 19500, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field ALSIGNRETARDLOADBINS = Field.create("ALSIGNRETARDLOADBINS", 19532, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSIGNRETARDRPMBINS = Field.create("ALSIGNRETARDRPMBINS", 19540, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSFUELADJUSTMENT = Field.create("ALSFUELADJUSTMENT", 19548, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field ALSFUELADJUSTMENTLOADBINS = Field.create("ALSFUELADJUSTMENTLOADBINS", 19580, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSFUELADJUSTMENTRPMBINS = Field.create("ALSFUELADJUSTMENTRPMBINS", 19588, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSIGNSKIPTABLE = Field.create("ALSIGNSKIPTABLE", 19596, FieldType.INT16).setScale(10.0).setBaseOffset(0); - public static final Field ALSIGNSKIPLOADBINS = Field.create("ALSIGNSKIPLOADBINS", 19628, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSIGNSKIPRPMBINS = Field.create("ALSIGNSKIPRPMBINS", 19636, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_TABLE = Field.create("IGNBLENDS1_TABLE", 19644, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS1_LOADBINS = Field.create("IGNBLENDS1_LOADBINS", 19772, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_RPMBINS = Field.create("IGNBLENDS1_RPMBINS", 19788, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_BLENDPARAMETER = Field.create("IGNBLENDS1_BLENDPARAMETER", 19804, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_161", 19805, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_BLENDBINS = Field.create("IGNBLENDS1_BLENDBINS", 19806, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS1_BLENDVALUES = Field.create("IGNBLENDS1_BLENDVALUES", 19822, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_186", 19830, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_TABLE = Field.create("IGNBLENDS2_TABLE", 19832, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS2_LOADBINS = Field.create("IGNBLENDS2_LOADBINS", 19960, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_RPMBINS = Field.create("IGNBLENDS2_RPMBINS", 19976, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_BLENDPARAMETER = Field.create("IGNBLENDS2_BLENDPARAMETER", 19992, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_161", 19993, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_BLENDBINS = Field.create("IGNBLENDS2_BLENDBINS", 19994, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS2_BLENDVALUES = Field.create("IGNBLENDS2_BLENDVALUES", 20010, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_186", 20018, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_TABLE = Field.create("IGNBLENDS3_TABLE", 20020, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS3_LOADBINS = Field.create("IGNBLENDS3_LOADBINS", 20148, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_RPMBINS = Field.create("IGNBLENDS3_RPMBINS", 20164, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_BLENDPARAMETER = Field.create("IGNBLENDS3_BLENDPARAMETER", 20180, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_161", 20181, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_BLENDBINS = Field.create("IGNBLENDS3_BLENDBINS", 20182, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS3_BLENDVALUES = Field.create("IGNBLENDS3_BLENDVALUES", 20198, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_186", 20206, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_TABLE = Field.create("IGNBLENDS4_TABLE", 20208, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS4_LOADBINS = Field.create("IGNBLENDS4_LOADBINS", 20336, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_RPMBINS = Field.create("IGNBLENDS4_RPMBINS", 20352, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_BLENDPARAMETER = Field.create("IGNBLENDS4_BLENDPARAMETER", 20368, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_161", 20369, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_BLENDBINS = Field.create("IGNBLENDS4_BLENDBINS", 20370, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS4_BLENDVALUES = Field.create("IGNBLENDS4_BLENDVALUES", 20386, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_186", 20394, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_TABLE = Field.create("VEBLENDS1_TABLE", 20396, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS1_LOADBINS = Field.create("VEBLENDS1_LOADBINS", 20524, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_RPMBINS = Field.create("VEBLENDS1_RPMBINS", 20540, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_BLENDPARAMETER = Field.create("VEBLENDS1_BLENDPARAMETER", 20556, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_161", 20557, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_BLENDBINS = Field.create("VEBLENDS1_BLENDBINS", 20558, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS1_BLENDVALUES = Field.create("VEBLENDS1_BLENDVALUES", 20574, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_186", 20582, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_TABLE = Field.create("VEBLENDS2_TABLE", 20584, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS2_LOADBINS = Field.create("VEBLENDS2_LOADBINS", 20712, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_RPMBINS = Field.create("VEBLENDS2_RPMBINS", 20728, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_BLENDPARAMETER = Field.create("VEBLENDS2_BLENDPARAMETER", 20744, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_161", 20745, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_BLENDBINS = Field.create("VEBLENDS2_BLENDBINS", 20746, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS2_BLENDVALUES = Field.create("VEBLENDS2_BLENDVALUES", 20762, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_186", 20770, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_TABLE = Field.create("VEBLENDS3_TABLE", 20772, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS3_LOADBINS = Field.create("VEBLENDS3_LOADBINS", 20900, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_RPMBINS = Field.create("VEBLENDS3_RPMBINS", 20916, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_BLENDPARAMETER = Field.create("VEBLENDS3_BLENDPARAMETER", 20932, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_161", 20933, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_BLENDBINS = Field.create("VEBLENDS3_BLENDBINS", 20934, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS3_BLENDVALUES = Field.create("VEBLENDS3_BLENDVALUES", 20950, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_186", 20958, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_TABLE = Field.create("VEBLENDS4_TABLE", 20960, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS4_LOADBINS = Field.create("VEBLENDS4_LOADBINS", 21088, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_RPMBINS = Field.create("VEBLENDS4_RPMBINS", 21104, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_BLENDPARAMETER = Field.create("VEBLENDS4_BLENDPARAMETER", 21120, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_161", 21121, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_BLENDBINS = Field.create("VEBLENDS4_BLENDBINS", 21122, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS4_BLENDVALUES = Field.create("VEBLENDS4_BLENDVALUES", 21138, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_186", 21146, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEESTIMATEEFFECTIVEAREABINS = Field.create("THROTTLEESTIMATEEFFECTIVEAREABINS", 21148, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field THROTTLEESTIMATEEFFECTIVEAREAVALUES = Field.create("THROTTLEESTIMATEEFFECTIVEAREAVALUES", 21172, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_TABLE = Field.create("BOOSTOPENLOOPBLENDS1_TABLE", 21196, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS1_LOADBINS", 21324, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS1_RPMBINS", 21340, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS1_BLENDPARAMETER", 21356, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161", 21357, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS1_BLENDBINS", 21358, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS1_BLENDVALUES", 21374, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186", 21382, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_TABLE = Field.create("BOOSTOPENLOOPBLENDS2_TABLE", 21384, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS2_LOADBINS", 21512, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS2_RPMBINS", 21528, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS2_BLENDPARAMETER", 21544, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161", 21545, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS2_BLENDBINS", 21546, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS2_BLENDVALUES", 21562, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186", 21570, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS1_TABLE", 21572, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_LOADBINS", 21700, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_RPMBINS", 21716, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER", 21732, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161", 21733, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDBINS", 21734, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES", 21750, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186", 21758, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS2_TABLE", 21760, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_LOADBINS", 21888, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_RPMBINS", 21904, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER", 21920, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161", 21921, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDBINS", 21922, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES", 21938, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186", 21946, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEP = Field.create("TCU_RANGEP", 21948, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGER = Field.create("TCU_RANGER", 21954, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEN = Field.create("TCU_RANGEN", 21960, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGED = Field.create("TCU_RANGED", 21966, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEM = Field.create("TCU_RANGEM", 21972, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEM3 = Field.create("TCU_RANGEM3", 21978, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEM2 = Field.create("TCU_RANGEM2", 21984, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEM1 = Field.create("TCU_RANGEM1", 21990, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEPLUS = Field.create("TCU_RANGEPLUS", 21996, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGEMINUS = Field.create("TCU_RANGEMINUS", 22002, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_RANGELOW = Field.create("TCU_RANGELOW", 22008, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAMAXDEVIATIONTABLE = Field.create("LAMBDAMAXDEVIATIONTABLE", 22014, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field LAMBDAMAXDEVIATIONLOADBINS = Field.create("LAMBDAMAXDEVIATIONLOADBINS", 22030, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAMAXDEVIATIONRPMBINS = Field.create("LAMBDAMAXDEVIATIONRPMBINS", 22038, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORSTAGINGTABLE = Field.create("INJECTORSTAGINGTABLE", 22046, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORSTAGINGLOADBINS = Field.create("INJECTORSTAGINGLOADBINS", 22082, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJECTORSTAGINGRPMBINS = Field.create("INJECTORSTAGINGRPMBINS", 22094, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_22106 = Field.create("ALIGNMENTFILL_AT_22106", 22106, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UIMODE = Field.create("UIMODE", 4189, FieldType.INT8, UiMode).setScale(1.0).setBaseOffset(0); + public static final Field HPFPPEAKPOS = Field.create("HPFPPEAKPOS", 4190, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field KLINEPERIODUS = Field.create("KLINEPERIODUS", 4192, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RPMSOFTLIMITWINDOWSIZE = Field.create("RPMSOFTLIMITWINDOWSIZE", 4194, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field RPMSOFTLIMITTIMINGRETARD = Field.create("RPMSOFTLIMITTIMINGRETARD", 4195, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field RPMSOFTLIMITFUELADDED = Field.create("RPMSOFTLIMITFUELADDED", 4196, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field RPMHARDLIMITHYST = Field.create("RPMHARDLIMITHYST", 4197, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field BENCHTESTOFFTIME = Field.create("BENCHTESTOFFTIME", 4198, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCUTPRESSUREHYST = Field.create("BOOSTCUTPRESSUREHYST", 4200, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GEARBASEDOPENLOOPBOOSTADDER = Field.create("GEARBASEDOPENLOOPBOOSTADDER", 4201, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4211 = Field.create("ALIGNMENTFILL_AT_4211", 4211, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BENCHTESTCOUNT = Field.create("BENCHTESTCOUNT", 4212, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field IACBYTPSHOLDTIME = Field.create("IACBYTPSHOLDTIME", 4216, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field IACBYTPSDECAYTIME = Field.create("IACBYTPSDECAYTIME", 4217, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field TCU_RANGEINPUT1 = Field.create("TCU_RANGEINPUT1", 4218, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUT2 = Field.create("TCU_RANGEINPUT2", 4220, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUT3 = Field.create("TCU_RANGEINPUT3", 4222, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUT4 = Field.create("TCU_RANGEINPUT4", 4224, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUT5 = Field.create("TCU_RANGEINPUT5", 4226, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUT6 = Field.create("TCU_RANGEINPUT6", 4228, FieldType.INT16, switch_input_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUTMODE1 = Field.create("TCU_RANGEINPUTMODE1", 4230, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUTMODE2 = Field.create("TCU_RANGEINPUTMODE2", 4231, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUTMODE3 = Field.create("TCU_RANGEINPUTMODE3", 4232, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUTMODE4 = Field.create("TCU_RANGEINPUTMODE4", 4233, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUTMODE5 = Field.create("TCU_RANGEINPUTMODE5", 4234, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEINPUTMODE6 = Field.create("TCU_RANGEINPUTMODE6", 4235, FieldType.INT8, pin_input_mode_e).setScale(1.0).setBaseOffset(0); + public static final Field CANVSSSCALING = Field.create("CANVSSSCALING", 4236, FieldType.INT16).setScale(1.0E-4).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4238 = Field.create("ALIGNMENTFILL_AT_4238", 4238, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field OILTEMPSENSOR_TEMPC_1 = Field.create("OILTEMPSENSOR_TEMPC_1", 4240, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_TEMPC_2 = Field.create("OILTEMPSENSOR_TEMPC_2", 4244, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_TEMPC_3 = Field.create("OILTEMPSENSOR_TEMPC_3", 4248, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_RESISTANCE_1 = Field.create("OILTEMPSENSOR_RESISTANCE_1", 4252, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_RESISTANCE_2 = Field.create("OILTEMPSENSOR_RESISTANCE_2", 4256, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_RESISTANCE_3 = Field.create("OILTEMPSENSOR_RESISTANCE_3", 4260, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_BIAS_RESISTOR = Field.create("OILTEMPSENSOR_BIAS_RESISTOR", 4264, FieldType.FLOAT).setBaseOffset(0); + public static final Field OILTEMPSENSOR_ADCCHANNEL = Field.create("OILTEMPSENSOR_ADCCHANNEL", 4268, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field OILTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("OILTEMPSENSOR_ALIGNMENTFILL_AT_29", 4269, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_TEMPC_1 = Field.create("FUELTEMPSENSOR_TEMPC_1", 4272, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_TEMPC_2 = Field.create("FUELTEMPSENSOR_TEMPC_2", 4276, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_TEMPC_3 = Field.create("FUELTEMPSENSOR_TEMPC_3", 4280, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_RESISTANCE_1 = Field.create("FUELTEMPSENSOR_RESISTANCE_1", 4284, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_RESISTANCE_2 = Field.create("FUELTEMPSENSOR_RESISTANCE_2", 4288, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_RESISTANCE_3 = Field.create("FUELTEMPSENSOR_RESISTANCE_3", 4292, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_BIAS_RESISTOR = Field.create("FUELTEMPSENSOR_BIAS_RESISTOR", 4296, FieldType.FLOAT).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_ADCCHANNEL = Field.create("FUELTEMPSENSOR_ADCCHANNEL", 4300, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("FUELTEMPSENSOR_ALIGNMENTFILL_AT_29", 4301, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_TEMPC_1 = Field.create("AMBIENTTEMPSENSOR_TEMPC_1", 4304, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_TEMPC_2 = Field.create("AMBIENTTEMPSENSOR_TEMPC_2", 4308, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_TEMPC_3 = Field.create("AMBIENTTEMPSENSOR_TEMPC_3", 4312, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_RESISTANCE_1 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_1", 4316, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_RESISTANCE_2 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_2", 4320, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_RESISTANCE_3 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_3", 4324, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_BIAS_RESISTOR = Field.create("AMBIENTTEMPSENSOR_BIAS_RESISTOR", 4328, FieldType.FLOAT).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_ADCCHANNEL = Field.create("AMBIENTTEMPSENSOR_ADCCHANNEL", 4332, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29", 4333, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_1 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_1", 4336, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_2 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_2", 4340, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_3 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_3", 4344, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1", 4348, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2", 4352, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3", 4356, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR = Field.create("COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR", 4360, FieldType.FLOAT).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL = Field.create("COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL", 4364, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29 = Field.create("COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29", 4365, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEINLETPRESSURECHANNEL = Field.create("THROTTLEINLETPRESSURECHANNEL", 4368, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGEPRESSURECHANNEL = Field.create("COMPRESSORDISCHARGEPRESSURECHANNEL", 4369, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field DACOUTPUTPINS1 = Field.create("DACOUTPUTPINS1", 4370, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field DACOUTPUTPINS2 = Field.create("DACOUTPUTPINS2", 4372, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field SPEEDOMETEROUTPUTPIN = Field.create("SPEEDOMETEROUTPUTPIN", 4374, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field SPEEDOMETERPULSEPERKM = Field.create("SPEEDOMETERPULSEPERKM", 4376, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SIMULATORCAMPOSITION1 = Field.create("SIMULATORCAMPOSITION1", 4378, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SIMULATORCAMPOSITION2 = Field.create("SIMULATORCAMPOSITION2", 4379, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SIMULATORCAMPOSITION3 = Field.create("SIMULATORCAMPOSITION3", 4380, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SIMULATORCAMPOSITION4 = Field.create("SIMULATORCAMPOSITION4", 4381, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNKEYADCCHANNEL = Field.create("IGNKEYADCCHANNEL", 4382, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDEXPLICITFILLING2 = Field.create("UNUSEDEXPLICITFILLING2", 4383, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDEFROM1 = Field.create("TRIGGERVVTGAPOVERRIDEFROM1", 4384, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDEFROM2 = Field.create("TRIGGERVVTGAPOVERRIDEFROM2", 4388, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDEFROM3 = Field.create("TRIGGERVVTGAPOVERRIDEFROM3", 4392, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDEFROM4 = Field.create("TRIGGERVVTGAPOVERRIDEFROM4", 4396, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDETO1 = Field.create("TRIGGERVVTGAPOVERRIDETO1", 4400, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDETO2 = Field.create("TRIGGERVVTGAPOVERRIDETO2", 4404, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDETO3 = Field.create("TRIGGERVVTGAPOVERRIDETO3", 4408, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRIGGERVVTGAPOVERRIDETO4 = Field.create("TRIGGERVVTGAPOVERRIDETO4", 4412, FieldType.FLOAT).setBaseOffset(0); + public static final Field TRACTIONCONTROLETBDROP = Field.create("TRACTIONCONTROLETBDROP", 4416, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXINJECTORDUTYINSTANT = Field.create("MAXINJECTORDUTYINSTANT", 4452, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXINJECTORDUTYSUSTAINED = Field.create("MAXINJECTORDUTYSUSTAINED", 4453, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXINJECTORDUTYSUSTAINEDTIMEOUT = Field.create("MAXINJECTORDUTYSUSTAINEDTIMEOUT", 4454, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_4455 = Field.create("ALIGNMENTFILL_AT_4455", 4455, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE21 = Field.create("INJECTIONPINSSTAGE21", 4456, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE22 = Field.create("INJECTIONPINSSTAGE22", 4458, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE23 = Field.create("INJECTIONPINSSTAGE23", 4460, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE24 = Field.create("INJECTIONPINSSTAGE24", 4462, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE25 = Field.create("INJECTIONPINSSTAGE25", 4464, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE26 = Field.create("INJECTIONPINSSTAGE26", 4466, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE27 = Field.create("INJECTIONPINSSTAGE27", 4468, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE28 = Field.create("INJECTIONPINSSTAGE28", 4470, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE29 = Field.create("INJECTIONPINSSTAGE29", 4472, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE210 = Field.create("INJECTIONPINSSTAGE210", 4474, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE211 = Field.create("INJECTIONPINSSTAGE211", 4476, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field INJECTIONPINSSTAGE212 = Field.create("INJECTIONPINSSTAGE212", 4478, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field MAINUNUSEDEND = Field.create("MAINUNUSEDEND", 4480, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ETBBIASBINS = Field.create("ETBBIASBINS", 4648, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBBIASVALUES = Field.create("ETBBIASVALUES", 4680, FieldType.FLOAT).setBaseOffset(0); + public static final Field IACPIDMULTTABLE = Field.create("IACPIDMULTTABLE", 4712, FieldType.INT8).setScale(0.05).setBaseOffset(0); + public static final Field IACPIDMULTLOADBINS = Field.create("IACPIDMULTLOADBINS", 4776, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IACPIDMULTRPMBINS = Field.create("IACPIDMULTRPMBINS", 4784, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field SPARKDWELLRPMBINS = Field.create("SPARKDWELLRPMBINS", 4792, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SPARKDWELLVALUES = Field.create("SPARKDWELLVALUES", 4808, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field CLTIDLERPMBINS = Field.create("CLTIDLERPMBINS", 4824, FieldType.INT8).setScale(2.0).setBaseOffset(0); + public static final Field CLTIDLERPM = Field.create("CLTIDLERPM", 4840, FieldType.INT8).setScale(20.0).setBaseOffset(0); + public static final Field CLTTIMINGBINS = Field.create("CLTTIMINGBINS", 4856, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTTIMINGEXTRA = Field.create("CLTTIMINGEXTRA", 4888, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE1BINS = Field.create("SCRIPTCURVE1BINS", 4920, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE1 = Field.create("SCRIPTCURVE1", 4984, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE2BINS = Field.create("SCRIPTCURVE2BINS", 5048, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE2 = Field.create("SCRIPTCURVE2", 5112, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE3BINS = Field.create("SCRIPTCURVE3BINS", 5176, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE3 = Field.create("SCRIPTCURVE3", 5208, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE4BINS = Field.create("SCRIPTCURVE4BINS", 5240, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE4 = Field.create("SCRIPTCURVE4", 5272, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE5BINS = Field.create("SCRIPTCURVE5BINS", 5304, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE5 = Field.create("SCRIPTCURVE5", 5336, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE6BINS = Field.create("SCRIPTCURVE6BINS", 5368, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE6 = Field.create("SCRIPTCURVE6", 5400, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROCORRPRESSUREBINS = Field.create("BAROCORRPRESSUREBINS", 5432, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROCORRRPMBINS = Field.create("BAROCORRRPMBINS", 5448, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROCORRTABLE = Field.create("BAROCORRTABLE", 5464, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGTPSCOEF = Field.create("CRANKINGTPSCOEF", 5528, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGTPSBINS = Field.create("CRANKINGTPSBINS", 5560, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGADVANCEBINS = Field.create("CRANKINGADVANCEBINS", 5592, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CRANKINGADVANCE = Field.create("CRANKINGADVANCE", 5600, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IACCOASTINGRPMBINS = Field.create("IACCOASTINGRPMBINS", 5608, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field IACCOASTING = Field.create("IACCOASTING", 5624, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field WARNING_MESSAGE = Field.create("WARNING_MESSAGE", 5640, 120, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field AFTERSTARTCOOLANTBINS = Field.create("AFTERSTARTCOOLANTBINS", 5760, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFTERSTARTHOLDTIME = Field.create("AFTERSTARTHOLDTIME", 5792, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFTERSTARTENRICH = Field.create("AFTERSTARTENRICH", 5824, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFTERSTARTDECAYTIME = Field.create("AFTERSTARTDECAYTIME", 5856, FieldType.FLOAT).setBaseOffset(0); + public static final Field BOOSTTABLEOPENLOOP = Field.create("BOOSTTABLEOPENLOOP", 5888, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTRPMBINS = Field.create("BOOSTRPMBINS", 5952, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field BOOSTTABLECLOSEDLOOP = Field.create("BOOSTTABLECLOSEDLOOP", 5960, FieldType.INT8).setScale(2.0).setBaseOffset(0); + public static final Field BOOSTTPSBINS = Field.create("BOOSTTPSBINS", 6024, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PEDALTOTPSTABLE = Field.create("PEDALTOTPSTABLE", 6032, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PEDALTOTPSPEDALBINS = Field.create("PEDALTOTPSPEDALBINS", 6096, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PEDALTOTPSRPMBINS = Field.create("PEDALTOTPSRPMBINS", 6104, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field CLTCRANKINGCORRBINS = Field.create("CLTCRANKINGCORRBINS", 6112, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTCRANKINGCORR = Field.create("CLTCRANKINGCORR", 6144, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLEADVANCEBINS = Field.create("IDLEADVANCEBINS", 6176, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field IDLEADVANCE = Field.create("IDLEADVANCE", 6184, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLEVERPMBINS = Field.create("IDLEVERPMBINS", 6216, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field IDLEVELOADBINS = Field.create("IDLEVELOADBINS", 6220, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IDLEVETABLE = Field.create("IDLEVETABLE", 6224, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field LUASCRIPT = Field.create("LUASCRIPT", 6256, 8000, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field CLTFUELCORRBINS = Field.create("CLTFUELCORRBINS", 14256, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTFUELCORR = Field.create("CLTFUELCORR", 14320, FieldType.FLOAT).setBaseOffset(0); + public static final Field IATFUELCORRBINS = Field.create("IATFUELCORRBINS", 14384, FieldType.FLOAT).setBaseOffset(0); + public static final Field IATFUELCORR = Field.create("IATFUELCORR", 14448, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGFUELCOEF = Field.create("CRANKINGFUELCOEF", 14512, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGFUELBINS = Field.create("CRANKINGFUELBINS", 14544, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGCYCLECOEF = Field.create("CRANKINGCYCLECOEF", 14576, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGCYCLEBINS = Field.create("CRANKINGCYCLEBINS", 14608, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTIDLECORRBINS = Field.create("CLTIDLECORRBINS", 14640, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTIDLECORR = Field.create("CLTIDLECORR", 14704, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAFDECODING = Field.create("MAFDECODING", 14768, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAFDECODINGBINS = Field.create("MAFDECODINGBINS", 14896, FieldType.FLOAT).setBaseOffset(0); + public static final Field IGNITIONIATCORRTABLE = Field.create("IGNITIONIATCORRTABLE", 15024, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field IGNITIONIATCORRTEMPBINS = Field.create("IGNITIONIATCORRTEMPBINS", 15088, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONIATCORRLOADBINS = Field.create("IGNITIONIATCORRLOADBINS", 15096, FieldType.INT8).setScale(5.0).setBaseOffset(0); + public static final Field INJECTIONPHASE = Field.create("INJECTIONPHASE", 15104, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJPHASELOADBINS = Field.create("INJPHASELOADBINS", 15616, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJPHASERPMBINS = Field.create("INJPHASERPMBINS", 15648, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TCUSOLENOIDTABLE = Field.create("TCUSOLENOIDTABLE", 15680, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAPESTIMATETABLE = Field.create("MAPESTIMATETABLE", 15740, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field MAPESTIMATETPSBINS = Field.create("MAPESTIMATETPSBINS", 16252, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field MAPESTIMATERPMBINS = Field.create("MAPESTIMATERPMBINS", 16284, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE1 = Field.create("VVTTABLE1", 16316, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE1LOADBINS = Field.create("VVTTABLE1LOADBINS", 16380, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE1RPMBINS = Field.create("VVTTABLE1RPMBINS", 16396, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE2 = Field.create("VVTTABLE2", 16412, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE2LOADBINS = Field.create("VVTTABLE2LOADBINS", 16476, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE2RPMBINS = Field.create("VVTTABLE2RPMBINS", 16492, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONTABLE = Field.create("IGNITIONTABLE", 16508, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNITIONLOADBINS = Field.create("IGNITIONLOADBINS", 17020, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONRPMBINS = Field.create("IGNITIONRPMBINS", 17052, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VETABLE = Field.create("VETABLE", 17084, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VELOADBINS = Field.create("VELOADBINS", 17596, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VERPMBINS = Field.create("VERPMBINS", 17628, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDATABLE = Field.create("LAMBDATABLE", 17660, FieldType.INT8).setScale(0.006802721088435374).setBaseOffset(0); + public static final Field LAMBDALOADBINS = Field.create("LAMBDALOADBINS", 17916, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDARPMBINS = Field.create("LAMBDARPMBINS", 17948, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSTPSACCELTABLE = Field.create("TPSTPSACCELTABLE", 17980, FieldType.FLOAT).setBaseOffset(0); + public static final Field TPSTPSACCELFROMRPMBINS = Field.create("TPSTPSACCELFROMRPMBINS", 18236, FieldType.FLOAT).setBaseOffset(0); + public static final Field TPSTPSACCELTORPMBINS = Field.create("TPSTPSACCELTORPMBINS", 18268, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTTABLE1 = Field.create("SCRIPTTABLE1", 18300, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTTABLE1LOADBINS = Field.create("SCRIPTTABLE1LOADBINS", 18556, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE1RPMBINS = Field.create("SCRIPTTABLE1RPMBINS", 18572, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE2 = Field.create("SCRIPTTABLE2", 18588, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE2LOADBINS = Field.create("SCRIPTTABLE2LOADBINS", 18652, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE2RPMBINS = Field.create("SCRIPTTABLE2RPMBINS", 18668, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE3 = Field.create("SCRIPTTABLE3", 18684, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE3LOADBINS = Field.create("SCRIPTTABLE3LOADBINS", 18748, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE3RPMBINS = Field.create("SCRIPTTABLE3RPMBINS", 18764, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE4 = Field.create("SCRIPTTABLE4", 18780, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE4LOADBINS = Field.create("SCRIPTTABLE4LOADBINS", 18860, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE4RPMBINS = Field.create("SCRIPTTABLE4RPMBINS", 18876, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNTRIMLOADBINS = Field.create("IGNTRIMLOADBINS", 18896, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNTRIMRPMBINS = Field.create("IGNTRIMRPMBINS", 18904, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNTRIMS1_TABLE = Field.create("IGNTRIMS1_TABLE", 18912, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS2_TABLE = Field.create("IGNTRIMS2_TABLE", 18928, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS3_TABLE = Field.create("IGNTRIMS3_TABLE", 18944, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS4_TABLE = Field.create("IGNTRIMS4_TABLE", 18960, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS5_TABLE = Field.create("IGNTRIMS5_TABLE", 18976, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS6_TABLE = Field.create("IGNTRIMS6_TABLE", 18992, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS7_TABLE = Field.create("IGNTRIMS7_TABLE", 19008, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS8_TABLE = Field.create("IGNTRIMS8_TABLE", 19024, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS9_TABLE = Field.create("IGNTRIMS9_TABLE", 19040, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS10_TABLE = Field.create("IGNTRIMS10_TABLE", 19056, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS11_TABLE = Field.create("IGNTRIMS11_TABLE", 19072, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS12_TABLE = Field.create("IGNTRIMS12_TABLE", 19088, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMLOADBINS = Field.create("FUELTRIMLOADBINS", 19104, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field FUELTRIMRPMBINS = Field.create("FUELTRIMRPMBINS", 19112, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field FUELTRIMS1_TABLE = Field.create("FUELTRIMS1_TABLE", 19120, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS2_TABLE = Field.create("FUELTRIMS2_TABLE", 19136, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS3_TABLE = Field.create("FUELTRIMS3_TABLE", 19152, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS4_TABLE = Field.create("FUELTRIMS4_TABLE", 19168, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS5_TABLE = Field.create("FUELTRIMS5_TABLE", 19184, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS6_TABLE = Field.create("FUELTRIMS6_TABLE", 19200, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS7_TABLE = Field.create("FUELTRIMS7_TABLE", 19216, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS8_TABLE = Field.create("FUELTRIMS8_TABLE", 19232, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS9_TABLE = Field.create("FUELTRIMS9_TABLE", 19248, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS10_TABLE = Field.create("FUELTRIMS10_TABLE", 19264, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS11_TABLE = Field.create("FUELTRIMS11_TABLE", 19280, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS12_TABLE = Field.create("FUELTRIMS12_TABLE", 19296, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field CRANKINGFUELCOEFE100 = Field.create("CRANKINGFUELCOEFE100", 19312, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TCU_PCAIRMASSBINS = Field.create("TCU_PCAIRMASSBINS", 19328, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field TCU_PCVALSR = Field.create("TCU_PCVALSR", 19336, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALSN = Field.create("TCU_PCVALSN", 19344, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS1 = Field.create("TCU_PCVALS1", 19352, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS2 = Field.create("TCU_PCVALS2", 19360, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS3 = Field.create("TCU_PCVALS3", 19368, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS4 = Field.create("TCU_PCVALS4", 19376, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS12 = Field.create("TCU_PCVALS12", 19384, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS23 = Field.create("TCU_PCVALS23", 19392, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS34 = Field.create("TCU_PCVALS34", 19400, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS21 = Field.create("TCU_PCVALS21", 19408, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS32 = Field.create("TCU_PCVALS32", 19416, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS43 = Field.create("TCU_PCVALS43", 19424, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCCTPSBINS = Field.create("TCU_TCCTPSBINS", 19432, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCCLOCKSPEED = Field.create("TCU_TCCLOCKSPEED", 19440, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCCUNLOCKSPEED = Field.create("TCU_TCCUNLOCKSPEED", 19448, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32SPEEDBINS = Field.create("TCU_32SPEEDBINS", 19456, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32VALS = Field.create("TCU_32VALS", 19464, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLE2TRIMTABLE = Field.create("THROTTLE2TRIMTABLE", 19472, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field THROTTLE2TRIMTPSBINS = Field.create("THROTTLE2TRIMTPSBINS", 19508, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLE2TRIMRPMBINS = Field.create("THROTTLE2TRIMRPMBINS", 19514, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field MAXKNOCKRETARDTABLE = Field.create("MAXKNOCKRETARDTABLE", 19520, FieldType.INT8).setScale(0.25).setBaseOffset(0); + public static final Field MAXKNOCKRETARDLOADBINS = Field.create("MAXKNOCKRETARDLOADBINS", 19556, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXKNOCKRETARDRPMBINS = Field.create("MAXKNOCKRETARDRPMBINS", 19562, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field ALSTIMINGRETARDTABLE = Field.create("ALSTIMINGRETARDTABLE", 19568, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field ALSIGNRETARDLOADBINS = Field.create("ALSIGNRETARDLOADBINS", 19600, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSIGNRETARDRPMBINS = Field.create("ALSIGNRETARDRPMBINS", 19608, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSFUELADJUSTMENT = Field.create("ALSFUELADJUSTMENT", 19616, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field ALSFUELADJUSTMENTLOADBINS = Field.create("ALSFUELADJUSTMENTLOADBINS", 19648, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSFUELADJUSTMENTRPMBINS = Field.create("ALSFUELADJUSTMENTRPMBINS", 19656, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSIGNSKIPTABLE = Field.create("ALSIGNSKIPTABLE", 19664, FieldType.INT16).setScale(10.0).setBaseOffset(0); + public static final Field ALSIGNSKIPLOADBINS = Field.create("ALSIGNSKIPLOADBINS", 19696, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSIGNSKIPRPMBINS = Field.create("ALSIGNSKIPRPMBINS", 19704, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_TABLE = Field.create("IGNBLENDS1_TABLE", 19712, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS1_LOADBINS = Field.create("IGNBLENDS1_LOADBINS", 19840, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_RPMBINS = Field.create("IGNBLENDS1_RPMBINS", 19856, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_BLENDPARAMETER = Field.create("IGNBLENDS1_BLENDPARAMETER", 19872, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_161", 19873, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_BLENDBINS = Field.create("IGNBLENDS1_BLENDBINS", 19874, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS1_BLENDVALUES = Field.create("IGNBLENDS1_BLENDVALUES", 19890, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_186", 19898, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_TABLE = Field.create("IGNBLENDS2_TABLE", 19900, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS2_LOADBINS = Field.create("IGNBLENDS2_LOADBINS", 20028, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_RPMBINS = Field.create("IGNBLENDS2_RPMBINS", 20044, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_BLENDPARAMETER = Field.create("IGNBLENDS2_BLENDPARAMETER", 20060, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_161", 20061, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_BLENDBINS = Field.create("IGNBLENDS2_BLENDBINS", 20062, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS2_BLENDVALUES = Field.create("IGNBLENDS2_BLENDVALUES", 20078, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_186", 20086, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_TABLE = Field.create("IGNBLENDS3_TABLE", 20088, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS3_LOADBINS = Field.create("IGNBLENDS3_LOADBINS", 20216, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_RPMBINS = Field.create("IGNBLENDS3_RPMBINS", 20232, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_BLENDPARAMETER = Field.create("IGNBLENDS3_BLENDPARAMETER", 20248, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_161", 20249, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_BLENDBINS = Field.create("IGNBLENDS3_BLENDBINS", 20250, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS3_BLENDVALUES = Field.create("IGNBLENDS3_BLENDVALUES", 20266, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_186", 20274, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_TABLE = Field.create("IGNBLENDS4_TABLE", 20276, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS4_LOADBINS = Field.create("IGNBLENDS4_LOADBINS", 20404, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_RPMBINS = Field.create("IGNBLENDS4_RPMBINS", 20420, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_BLENDPARAMETER = Field.create("IGNBLENDS4_BLENDPARAMETER", 20436, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_161", 20437, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_BLENDBINS = Field.create("IGNBLENDS4_BLENDBINS", 20438, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS4_BLENDVALUES = Field.create("IGNBLENDS4_BLENDVALUES", 20454, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_186", 20462, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_TABLE = Field.create("VEBLENDS1_TABLE", 20464, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS1_LOADBINS = Field.create("VEBLENDS1_LOADBINS", 20592, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_RPMBINS = Field.create("VEBLENDS1_RPMBINS", 20608, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_BLENDPARAMETER = Field.create("VEBLENDS1_BLENDPARAMETER", 20624, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_161", 20625, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_BLENDBINS = Field.create("VEBLENDS1_BLENDBINS", 20626, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS1_BLENDVALUES = Field.create("VEBLENDS1_BLENDVALUES", 20642, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_186", 20650, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_TABLE = Field.create("VEBLENDS2_TABLE", 20652, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS2_LOADBINS = Field.create("VEBLENDS2_LOADBINS", 20780, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_RPMBINS = Field.create("VEBLENDS2_RPMBINS", 20796, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_BLENDPARAMETER = Field.create("VEBLENDS2_BLENDPARAMETER", 20812, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_161", 20813, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_BLENDBINS = Field.create("VEBLENDS2_BLENDBINS", 20814, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS2_BLENDVALUES = Field.create("VEBLENDS2_BLENDVALUES", 20830, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_186", 20838, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_TABLE = Field.create("VEBLENDS3_TABLE", 20840, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS3_LOADBINS = Field.create("VEBLENDS3_LOADBINS", 20968, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_RPMBINS = Field.create("VEBLENDS3_RPMBINS", 20984, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_BLENDPARAMETER = Field.create("VEBLENDS3_BLENDPARAMETER", 21000, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_161", 21001, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_BLENDBINS = Field.create("VEBLENDS3_BLENDBINS", 21002, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS3_BLENDVALUES = Field.create("VEBLENDS3_BLENDVALUES", 21018, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_186", 21026, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_TABLE = Field.create("VEBLENDS4_TABLE", 21028, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS4_LOADBINS = Field.create("VEBLENDS4_LOADBINS", 21156, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_RPMBINS = Field.create("VEBLENDS4_RPMBINS", 21172, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_BLENDPARAMETER = Field.create("VEBLENDS4_BLENDPARAMETER", 21188, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_161", 21189, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_BLENDBINS = Field.create("VEBLENDS4_BLENDBINS", 21190, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS4_BLENDVALUES = Field.create("VEBLENDS4_BLENDVALUES", 21206, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_186", 21214, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEESTIMATEEFFECTIVEAREABINS = Field.create("THROTTLEESTIMATEEFFECTIVEAREABINS", 21216, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field THROTTLEESTIMATEEFFECTIVEAREAVALUES = Field.create("THROTTLEESTIMATEEFFECTIVEAREAVALUES", 21240, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_TABLE = Field.create("BOOSTOPENLOOPBLENDS1_TABLE", 21264, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS1_LOADBINS", 21392, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS1_RPMBINS", 21408, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS1_BLENDPARAMETER", 21424, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161", 21425, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS1_BLENDBINS", 21426, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS1_BLENDVALUES", 21442, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186", 21450, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_TABLE = Field.create("BOOSTOPENLOOPBLENDS2_TABLE", 21452, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS2_LOADBINS", 21580, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS2_RPMBINS", 21596, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS2_BLENDPARAMETER", 21612, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161", 21613, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS2_BLENDBINS", 21614, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS2_BLENDVALUES", 21630, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186", 21638, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS1_TABLE", 21640, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_LOADBINS", 21768, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_RPMBINS", 21784, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER", 21800, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161", 21801, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDBINS", 21802, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES", 21818, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186", 21826, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS2_TABLE", 21828, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_LOADBINS", 21956, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_RPMBINS", 21972, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER", 21988, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161", 21989, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDBINS", 21990, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES", 22006, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186", 22014, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEP = Field.create("TCU_RANGEP", 22016, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGER = Field.create("TCU_RANGER", 22022, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEN = Field.create("TCU_RANGEN", 22028, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGED = Field.create("TCU_RANGED", 22034, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEM = Field.create("TCU_RANGEM", 22040, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEM3 = Field.create("TCU_RANGEM3", 22046, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEM2 = Field.create("TCU_RANGEM2", 22052, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEM1 = Field.create("TCU_RANGEM1", 22058, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEPLUS = Field.create("TCU_RANGEPLUS", 22064, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGEMINUS = Field.create("TCU_RANGEMINUS", 22070, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_RANGELOW = Field.create("TCU_RANGELOW", 22076, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAMAXDEVIATIONTABLE = Field.create("LAMBDAMAXDEVIATIONTABLE", 22082, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field LAMBDAMAXDEVIATIONLOADBINS = Field.create("LAMBDAMAXDEVIATIONLOADBINS", 22098, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAMAXDEVIATIONRPMBINS = Field.create("LAMBDAMAXDEVIATIONRPMBINS", 22106, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORSTAGINGTABLE = Field.create("INJECTORSTAGINGTABLE", 22114, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORSTAGINGLOADBINS = Field.create("INJECTORSTAGINGLOADBINS", 22150, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJECTORSTAGINGRPMBINS = Field.create("INJECTORSTAGINGRPMBINS", 22162, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_22174 = Field.create("ALIGNMENTFILL_AT_22174", 22174, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field[] VALUES = { ENGINETYPE, STARTBUTTONSUPPRESSONSTARTUPMS, @@ -3043,6 +3045,9 @@ public class Fields { INJECTOR_FLOW, INJECTOR_BATTLAGCORRBINS, INJECTOR_BATTLAGCORR, + INJECTORSECONDARY_FLOW, + INJECTORSECONDARY_BATTLAGCORRBINS, + INJECTORSECONDARY_BATTLAGCORR, ISFORCEDINDUCTION, USEFORDREDUNDANTTPS, ENABLEKLINE, @@ -3119,7 +3124,7 @@ public class Fields { TRIGGERSIMULATORRPM, CYLINDERSCOUNT, FIRINGORDER, - ALIGNMENTFILL_AT_373, + ALIGNMENTFILL_AT_441, CYLINDERBORE, FUELALGORITHM, ALSMAXTPS, @@ -3132,10 +3137,10 @@ public class Fields { IGNITIONMODE, GAPTRACKINGLENGTHOVERRIDE, MAXIDLEVSS, - ALIGNMENTFILL_AT_395, + ALIGNMENTFILL_AT_463, MINOILPRESSUREAFTERSTART, TIMINGMODE, - ALIGNMENTFILL_AT_399, + ALIGNMENTFILL_AT_467, FIXEDMODETIMING, GLOBALTRIGGERANGLEOFFSET, ANALOGINPUTDIVIDERCOEFFICIENT, @@ -3143,13 +3148,13 @@ public class Fields { FANONTEMPERATURE, FANOFFTEMPERATURE, ACRPIN, - ALIGNMENTFILL_AT_426, + ALIGNMENTFILL_AT_494, DRIVEWHEELREVPERKM, CANNBCTYPE, - ALIGNMENTFILL_AT_433, + ALIGNMENTFILL_AT_501, CANSLEEPPERIODMS, CAMDECODER2JZPRECISION, - ALIGNMENTFILL_AT_441, + ALIGNMENTFILL_AT_509, BYFIRMWAREVERSION, TPS1_1ADCCHANNEL, VBATTADCCHANNEL, @@ -3250,7 +3255,7 @@ public class Fields { MAX31855SPIDEVICE, DEBUGTRIGGERSYNC, DIGITALPOTENTIOMETERSPIDEVICE, - ALIGNMENTFILL_AT_645, + ALIGNMENTFILL_AT_713, MC33972_CS, MC33972_CSPINMODE, AUXFASTSENSOR1_ADCCHANNEL, @@ -3265,10 +3270,10 @@ public class Fields { TRIGGERINPUTPINS2, MC33_T_MIN_BOOST, HIP9011CSPINMODE, - ALIGNMENTFILL_AT_675, + ALIGNMENTFILL_AT_743, TACHOUTPUTPIN, TACHOUTPUTPINMODE, - ALIGNMENTFILL_AT_679, + ALIGNMENTFILL_AT_747, MAINRELAYPIN, SDCARDCSPIN, CANTXPIN, @@ -3278,7 +3283,7 @@ public class Fields { FINALGEARRATIO, TCUINPUTSPEEDSENSORPIN, TCUINPUTSPEEDSENSORTEETH, - ALIGNMENTFILL_AT_695, + ALIGNMENTFILL_AT_763, WASTEGATEPOSITIONMIN, WASTEGATEPOSITIONMAX, IDLEPOSITIONMIN, @@ -3291,12 +3296,12 @@ public class Fields { TRIGGERSIMULATORPINMODES1, TRIGGERSIMULATORPINMODES2, MAF2ADCCHANNEL, - ALIGNMENTFILL_AT_721, + ALIGNMENTFILL_AT_789, O2HEATERPIN, O2HEATERPINMODETODO, LAMBDAPROTECTIONMINRPM, LAMBDAPROTECTIONMINLOAD, - ALIGNMENTFILL_AT_727, + ALIGNMENTFILL_AT_795, IS_ENABLED_SPI_1, IS_ENABLED_SPI_2, IS_ENABLED_SPI_3, @@ -3333,11 +3338,11 @@ public class Fields { LOGICANALYZERPINS3, LOGICANALYZERPINS4, MAINRELAYPINMODE, - ALIGNMENTFILL_AT_741, + ALIGNMENTFILL_AT_809, HIP9011CSPIN, HIP9011INTHOLDPIN, HIP9011INTHOLDPINMODE, - ALIGNMENTFILL_AT_747, + ALIGNMENTFILL_AT_815, VERBOSECANBASEADDRESS, MC33_HVOLT, MINIMUMBOOSTCLOSEDLOOPMAP, @@ -3347,7 +3352,7 @@ public class Fields { DWELLVOLTAGECORRVOLTBINS, IMUTYPE, DWELLVOLTAGECORRVALUES, - ALIGNMENTFILL_AT_775, + ALIGNMENTFILL_AT_843, VEHICLEWEIGHT, IDLEPIDRPMUPPERLIMIT, APPLYNONLINEARBELOWPULSE, @@ -3373,14 +3378,14 @@ public class Fields { ETBMAXIMUMPOSITION, SDCARDLOGFREQUENCY, IDLEPOSITIONCHANNEL, - ALIGNMENTFILL_AT_819, + ALIGNMENTFILL_AT_887, DEBUGMAPAVERAGING, STARTERRELAYDISABLEPIN, STARTERRELAYDISABLEPINMODE, - ALIGNMENTFILL_AT_825, + ALIGNMENTFILL_AT_893, SECONDSOLENOIDPIN, STARTSTOPBUTTONPIN, - ALIGNMENTFILL_AT_830, + ALIGNMENTFILL_AT_898, MAPMINBUFFERLENGTH, IDLEPIDDEACTIVATIONTPSTHRESHOLD, STEPPERPARKINGEXTRASTEPS, @@ -3390,13 +3395,13 @@ public class Fields { STARTCRANKINGDURATION, TRIGGERERRORPIN, TRIGGERERRORPINMODE, - ALIGNMENTFILL_AT_851, + ALIGNMENTFILL_AT_919, ACRELAYPIN, LAMBDAPROTECTIONMINTPS, LAMBDAPROTECTIONTIMEOUT, LAMBDAPROTECTIONRESTORERPM, ACRELAYPINMODE, - ALIGNMENTFILL_AT_858, + ALIGNMENTFILL_AT_926, SCRIPTSETTING1, SCRIPTSETTING2, SCRIPTSETTING3, @@ -3418,7 +3423,7 @@ public class Fields { CONSOLEUARTDEVICE, SENSORCHARTMODE, MAFSENSORTYPE, - ALIGNMENTFILL_AT_915, + ALIGNMENTFILL_AT_983, CLUTCHUPPININVERTED, CLUTCHDOWNPININVERTED, USEHBRIDGESTODRIVEIDLESTEPPER, @@ -3461,7 +3466,7 @@ public class Fields { ETBIO2_DISABLEPIN, BOOSTCONTROLPIN, BOOSTCONTROLPINMODE, - ALIGNMENTFILL_AT_939, + ALIGNMENTFILL_AT_1007, ALSACTIVATEPIN, LAUNCHACTIVATEPIN, BOOSTPID_PFACTOR, @@ -3477,7 +3482,7 @@ public class Fields { BOOSTPWMFREQUENCY, LAUNCHACTIVATIONMODE, ANTILAGACTIVATIONMODE, - ALIGNMENTFILL_AT_974, + ALIGNMENTFILL_AT_1042, LAUNCHSPEEDTHRESHOLD, LAUNCHTIMINGRPMRANGE, LAUNCHFUELADDED, @@ -3526,10 +3531,10 @@ public class Fields { ETBFUNCTIONS1, ETBFUNCTIONS2, DRV8860SPIDEVICE, - ALIGNMENTFILL_AT_1159, + ALIGNMENTFILL_AT_1227, DRV8860_CS, DRV8860_CSPINMODE, - ALIGNMENTFILL_AT_1163, + ALIGNMENTFILL_AT_1231, DRV8860_MISO, FUELLEVELBINS, LUAOUTPUTPINS1, @@ -3540,7 +3545,7 @@ public class Fields { LUAOUTPUTPINS6, LUAOUTPUTPINS7, LUAOUTPUTPINS8, - ALIGNMENTFILL_AT_1198, + ALIGNMENTFILL_AT_1266, VVTOFFSETS1, VVTOFFSETS2, VVTOFFSETS3, @@ -3592,12 +3597,12 @@ public class Fields { TWOSTROKE, SKIPPEDWHEELONCAM, HIPOUTPUTCHANNEL, - ALIGNMENTFILL_AT_1321, + ALIGNMENTFILL_AT_1389, ACSWITCH, VREFADCCHANNEL, ETBNEUTRALPOSITION, IDLEMODE, - ALIGNMENTFILL_AT_1327, + ALIGNMENTFILL_AT_1395, ISINJECTIONENABLED, ISIGNITIONENABLED, ISCYLINDERCLEANUPENABLED, @@ -3668,10 +3673,10 @@ public class Fields { TPS2MAX, STARTERCONTROLPIN, STARTSTOPBUTTONMODE, - ALIGNMENTFILL_AT_1439, + ALIGNMENTFILL_AT_1507, MC33816_FLAG0, TACHPULSEPERREV, - ALIGNMENTFILL_AT_1443, + ALIGNMENTFILL_AT_1511, MAPERRORDETECTIONTOOLOW, MAPERRORDETECTIONTOOHIGH, MULTISPARKSPARKDURATION, @@ -3709,7 +3714,7 @@ public class Fields { COASTINGFUELCUTVSSLOW, COASTINGFUELCUTVSSHIGH, NOFUELTRIMAFTERDFCOTIME, - ALIGNMENTFILL_AT_1526, + ALIGNMENTFILL_AT_1594, TPSACCELENRICHMENTTHRESHOLD, AUXSPEEDSENSORINPUTPIN1, AUXSPEEDSENSORINPUTPIN2, @@ -3745,7 +3750,7 @@ public class Fields { LAMBDAPROTECTIONRESTORETPS, LAMBDAPROTECTIONRESTORELOAD, LAUNCHACTIVATEPINMODE, - ALIGNMENTFILL_AT_1583, + ALIGNMENTFILL_AT_1651, CAN2TXPIN, CAN2RXPIN, STARTERCONTROLPINMODE, @@ -3754,7 +3759,7 @@ public class Fields { INJECTORPRESSURETYPE, HPFPVALVEPIN, HPFPVALVEPINMODE, - ALIGNMENTFILL_AT_1595, + ALIGNMENTFILL_AT_1663, BOOSTCUTPRESSURE, TCHARGEBINS, TCHARGEVALUES, @@ -3767,7 +3772,7 @@ public class Fields { VVTPINS3, VVTPINS4, SDCARDCSPINMODE, - ALIGNMENTFILL_AT_1657, + ALIGNMENTFILL_AT_1725, CRANKINGIACPOSITION, TCHARGEMINRPMMINTPS, TCHARGEMINRPMMAXTPS, @@ -3867,7 +3872,7 @@ public class Fields { MC33816_DRIVEN, BRAKEPEDALPIN, BRAKEPEDALPINMODE, - ALIGNMENTFILL_AT_2085, + ALIGNMENTFILL_AT_2153, AUXPID1_PFACTOR, AUXPID1_IFACTOR, AUXPID1_DFACTOR, @@ -3898,16 +3903,16 @@ public class Fields { OILPRESSURE_V2, OILPRESSURE_VALUE2, ACCELEROMETERSPIDEVICE, - ALIGNMENTFILL_AT_2189, + ALIGNMENTFILL_AT_2257, FAN2PIN, FAN2ONTEMPERATURE, FAN2OFFTEMPERATURE, STEPPERENABLEPIN, TLE8888_CS, TLE8888_CSPINMODE, - ALIGNMENTFILL_AT_2199, + ALIGNMENTFILL_AT_2267, MC33816_CS, - ALIGNMENTFILL_AT_2202, + ALIGNMENTFILL_AT_2270, AUXFREQUENCYFILTER, VVTCONTROLMINRPM, SENTINPUTPINS1, @@ -3959,7 +3964,7 @@ public class Fields { TCHARGEAIRINCRLIMIT, TCHARGEAIRDECRLIMIT, TCHARGEMODE, - ALIGNMENTFILL_AT_2593, + ALIGNMENTFILL_AT_2661, HIP9011GAIN, ETB_ITERMMIN, ETB_ITERMMAX, @@ -4003,7 +4008,7 @@ public class Fields { DISABLEFAN1ATSPEED, DISABLEFAN2ATSPEED, CANVSSNBCTYPE, - ALIGNMENTFILL_AT_2694, + ALIGNMENTFILL_AT_2762, GPPWM1_PIN, GPPWM1_DUTYIFERROR, GPPWM1_ALIGNMENTFILL_AT_3, @@ -4071,7 +4076,7 @@ public class Fields { TCU_SOLENOID_MODE5, TCU_SOLENOID_MODE6, KNOCKBASENOISE, - ALIGNMENTFILL_AT_3171, + ALIGNMENTFILL_AT_3239, TRIGGERGAPOVERRIDEFROM1, TRIGGERGAPOVERRIDEFROM2, TRIGGERGAPOVERRIDEFROM3, @@ -4111,7 +4116,7 @@ public class Fields { MAXCAMPHASERESOLVERPM, DFCODELAY, ACDELAY, - ALIGNMENTFILL_AT_3319, + ALIGNMENTFILL_AT_3387, FORDINJECTORSMALLPULSEBREAKPOINT, TPSTSPCORRVALUES, ETBJAMINTEGRATORLIMIT, @@ -4119,7 +4124,7 @@ public class Fields { HPFPCAM, AUXILIARYSETTING1, HPFPMINANGLE, - ALIGNMENTFILL_AT_3331, + ALIGNMENTFILL_AT_3399, HPFPPUMPVOLUME, HPFPACTIVATIONANGLE, ISSFILTERRECIPROCAL, @@ -4177,28 +4182,28 @@ public class Fields { AUXLINEAR2_VALUE2, TCU_TCC_ONOFF_SOLENOID, TCU_TCC_ONOFF_SOLENOID_MODE, - ALIGNMENTFILL_AT_3943, + ALIGNMENTFILL_AT_4011, TCU_TCC_PWM_SOLENOID, TCU_TCC_PWM_SOLENOID_MODE, - ALIGNMENTFILL_AT_3947, + ALIGNMENTFILL_AT_4015, TCU_TCC_PWM_SOLENOID_FREQ, TCU_PC_SOLENOID_PIN, TCU_PC_SOLENOID_PIN_MODE, - ALIGNMENTFILL_AT_3953, + ALIGNMENTFILL_AT_4021, TCU_PC_SOLENOID_FREQ, TCU_32_SOLENOID_PIN, TCU_32_SOLENOID_PIN_MODE, - ALIGNMENTFILL_AT_3959, + ALIGNMENTFILL_AT_4027, TCU_32_SOLENOID_FREQ, ACRPIN2, ETBMINIMUMPOSITION, TUNEHIDINGKEY, VINNUMBER, - ALIGNMENTFILL_AT_3987, + ALIGNMENTFILL_AT_4055, HIGHSPEEDOFFSETS, ETBDUTYSHUTDOWNTHRESHOLD, FUELPRESSURESENSORMODE, - ALIGNMENTFILL_AT_4057, + ALIGNMENTFILL_AT_4125, LUADIGITALINPUTPINS1, LUADIGITALINPUTPINS2, LUADIGITALINPUTPINS3, @@ -4246,7 +4251,7 @@ public class Fields { BENCHTESTOFFTIME, BOOSTCUTPRESSUREHYST, GEARBASEDOPENLOOPBOOSTADDER, - ALIGNMENTFILL_AT_4143, + ALIGNMENTFILL_AT_4211, BENCHTESTCOUNT, IACBYTPSHOLDTIME, IACBYTPSDECAYTIME, @@ -4263,7 +4268,7 @@ public class Fields { TCU_RANGEINPUTMODE5, TCU_RANGEINPUTMODE6, CANVSSSCALING, - ALIGNMENTFILL_AT_4170, + ALIGNMENTFILL_AT_4238, OILTEMPSENSOR_TEMPC_1, OILTEMPSENSOR_TEMPC_2, OILTEMPSENSOR_TEMPC_3, @@ -4324,7 +4329,7 @@ public class Fields { MAXINJECTORDUTYINSTANT, MAXINJECTORDUTYSUSTAINED, MAXINJECTORDUTYSUSTAINEDTIMEOUT, - ALIGNMENTFILL_AT_4387, + ALIGNMENTFILL_AT_4455, INJECTIONPINSSTAGE21, INJECTIONPINSSTAGE22, INJECTIONPINSSTAGE23, @@ -4619,6 +4624,6 @@ public class Fields { INJECTORSTAGINGTABLE, INJECTORSTAGINGLOADBINS, INJECTORSTAGINGRPMBINS, - ALIGNMENTFILL_AT_22106, + ALIGNMENTFILL_AT_22174, }; }